我们的静态网站位于DigitalOcean,而API服务器(使用Zappa)位于AWS中。域名注册商是GoDaddy。为了访问静态站点和API服务器,我们在GoDaddy中使用了DigitalOcean和Route53 NameServers。在Route53中,我们为CNAME
添加了www.bearete.com
条目,指向bearete.com
。有时静态服务器无法访问,我们收到ERR_NAME_NOT_RESOLVED
错误,几小时后它就会自动变为可用。我试过多次更换TTL而没有任何可靠的解决方案。
AWS Route53 HealthChecks
提供Failure: DNS resolution failed: the value returned by the DNS resolver does not resolve to an IPv4 address.
但是当我将8.8.8.8
或8.8.4.4
添加到我的网络DNS服务器时,它每次都有效。但我们无法请求每个客户更改其DNS设置。
我对这个问题一无所知。任何人都可以帮我解决这个问题吗?谢谢。
答案 0 :(得分:2)
即使在线故障排除工具没有发现问题而只是一个警告(参见http://dnsviz.net/d/bearete.com/WrIDqA/dnssec/),我发现一个大问题,你有一个蹩脚的代表团。
您所在区域的名称服务器列表在区域及其父级中不相同。
请参阅:
$ dig bearete.com NS @a.gtld-servers.net | grep -A 8 ';; AUTHORITY'
;; AUTHORITY SECTION:
bearete.com. 172800 IN NS ns1.digitalocean.com.
bearete.com. 172800 IN NS ns2.digitalocean.com.
bearete.com. 172800 IN NS ns3.digitalocean.com.
bearete.com. 172800 IN NS ns-349.awsdns-43.com.
bearete.com. 172800 IN NS ns-928.awsdns-52.net.
bearete.com. 172800 IN NS ns-1544.awsdns-01.co.uk.
bearete.com. 172800 IN NS ns-1362.awsdns-42.org.
但Digital Ocean名称服务器仅将自己列为权威,而AWS名称服务器仅将自己列为权威。
如果Digital Ocean或AWS应该托管您的名称服务器,您首先需要解决这个问题并立即做出决定,但它不能同时存在。
然后你去你的注册商(GoDaddy)并要求它进行更改(在父区域设置正确的名称服务器列表,即在注册表中)。
在此之后的几个小时内,您可以再次开始解决问题,如果有的话。