jeessy2/ddns-go · error
未能获取域名 %s 对应的 IPv6 地址
Error message
未能获取域名 %s 对应的 IPv6 地址
What it means
A validation guard inside getDesiredOriginRecords: the domain was matched against eo.Domains.Ipv6Domains, so an IPv6 origin record is expected, but eo.Domains.Ipv6Addr is empty — the resolver/config layer never populated the IPv6 address for this domain. The error fires before any EdgeOne API call, failing the origin-record build for addUpdateOriginGroups.
Source
Thrown at dns/edgeone_origin.go:170
func (eo *EdgeOne) getDesiredOriginRecords(domainTuple *config.DomainTuple) ([]EdgeOneOriginRecord, error) {
domain := domainTuple.Primary
domainName := domain.String()
weight := eo.getOriginWeight(domain)
records := make([]EdgeOneOriginRecord, 0, 2)
if eo.hasDomain(eo.Domains.Ipv4Domains, domainName) {
if eo.Domains.Ipv4Addr == "" {
return nil, fmt.Errorf("未能获取域名 %s 对应的 IPv4 地址", domain)
}
records = append(records, EdgeOneOriginRecord{
Record: eo.Domains.Ipv4Addr,
Type: edgeoneOriginRecordType,
Weight: weight,
})
}
if eo.hasDomain(eo.Domains.Ipv6Domains, domainName) {
if eo.Domains.Ipv6Addr == "" {
return nil, fmt.Errorf("未能获取域名 %s 对应的 IPv6 地址", domain)
}
records = append(records, EdgeOneOriginRecord{
Record: eo.Domains.Ipv6Addr,
Type: edgeoneOriginRecordType,
Weight: weight,
})
}
if len(records) == 0 {
return nil, fmt.Errorf("域名 %s 未配置可更新的源站记录", domain)
}
return records, nil
}
func (eo *EdgeOne) hasDomain(domains []*config.Domain, fullDomain string) bool {
for _, domain := range domains {
if domain != nil && domain.String() == fullDomain {
return trueView on GitHub (pinned to 5874c2e666)
Solutions
- Check why the IPv6 address resolution step left eo.Domains.Ipv6Addr empty for this domain (DNS AAAA-record lookup failure or skipped resolution)
- Verify the domain actually has an AAAA record / IPv6 origin configured upstream
- If the domain is IPv4-only, remove it from Ipv6Domains so the guard is not triggered
- Re-run after ensuring the address-population step executes before addUpdateOriginGroups
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at dns/edgeone_origin.go:170 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of jeessy2/ddns-go@5874c2e666 (2026-09-03).
Data as JSON: /api/errors/62f16e0b6ad66170.
Report an issue: GitHub.