我已经运行了一个相当繁忙的网站两年了,其网络服务器的设置如下:
- 微型实例上的 ec2/Amazon Linux AMI 2014.03.2
- lighttpd (最新)
- godaddy 域名
今天早上,网站瘫痪了——DNS 故障。我可以通过 IP 地址和 ec2 公共地址访问该网站,但无法访问域名。我以前也遇到过一两次 godaddy 的 DNS 中断,但这次很奇怪:
- pingdom 在一小时前就发现了 DNS 问题,但以为我们已经恢复了。
- downforeveryoneorjustme.com 以为我们已经起来了
- browserstack 认为我们已经瘫痪了。
我想这不算太奇怪:我知道 DNS 问题并不总是全球性的。奇怪的是:重新启动 lighttpd 解决了这个问题。
我想采取行动来补救这种情况,但我对这个问题不太清楚,我甚至不知道下一步该怎么做,也不知道该搜索什么。服务器重启会如何影响 DNS 问题?
更新 重启和问题修复之间的时间安排非常完美,我没想到人们会认为这是巧合。但事实上,大约一小时后问题又出现了,我再次用 lighttpd 反弹修复了它。我知道这听起来很疯狂!!
答案1
由于缓存机制,DNS问题很难解决。如果相应的RR(资源记录,见RFC1035 第 3.2 节) 被缓存在某处,即使此 RR 的权威服务器发生故障,它在过期之前仍然有效。
网络服务器的重启首先让我想到了一个虚拟主机问题,但是您可以使用IP访问该网站。
诊断的下一步应该使用 DNS 特定工具(例如dig
选项+trace
)和常用的路由诊断工具(ping、traceroute)
答案2
对我来说,这听起来像是 DNS 提供商的问题。也许某些路由器或 DNS 服务器中存在错误的 DNS 条目。当你重新启动 lighttpd 时,它们会在同一时刻更新……或者你误解了错误消息,但我不这么认为 ;)