域名有时无法解析

Domain name is not getting resolved sometimes

我们的静态站点在 DigitalOcean 中,API 服务器(使用 Zappa)在 AWS 中。域名注册商是 GoDaddy。为了访问静态站点和 API 服务器,我们在 GoDaddy 中使用了 DigitalOcean 和 Route53 NameServers。在 Route53 中,我们为 www.bearete.com 添加了一个 CNAME 条目,指向 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.88.8.4.4 添加到我网络的 DNS 服务器时,它每次都能正常工作。但我们不能要求每个客户端都更改其 DNS 设置。

我对这个问题一窍不通。谁能帮我解决这个问题?谢谢。

即使在线故障排除工具没有发现问题而只是警告(请参阅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) 并要求它为你进行更改(在父区域设置正确的名称服务器列表,即在注册表中)。

在那之后的几个小时后,您可以再次开始解决问题(如果有的话)。