如果网站在更改 DNS 后无法打开该怎么办

如果网站在更改 DNS 后无法打开该怎么办
更改 DNS 是一件棘手的事情。网站似乎已经迁移了,但在浏览器中却是空白、错误或旧地址。接下来就开始了恐慌:首先指责主机,然后是注册商,最后是自己。
需要的不是噪音,而是逐步检查。问题常常出在某一条记录、某个 NS 或者是提供商的缓存,而不是网站本身。如果您需要了解在更改 DNS 后网站无法打开该怎么办,请从一个事实开始:您究竟更改了什么,以及在什么时间进行了更改。
检查问题是否确实与 DNS 相关
首先将 DNS 效果与其他因素分开。如果在更改 DNS 之前网站可以打开,而在 5 分钟后无法打开,这并不能证明什么。时间上的巧合是具有误导性的。
观察网站在不同症状下的表现:完全无法打开、跳转到其他域、出现 SSL 错误或只是不断加载。这已经是 4 种不同的场景,每种场景都有其来源。有时问题看起来像是 DNS,但实际上是 https 的重定向坏了或证书过期了。
有一个简单的测试:尝试通过直接的 IP 打开网站,如果您知道的话,或者通过另一个已经保存旧地址的连接。如果通过 IP 服务器有响应,而通过域名没有响应,那么 DNS 确实在嫌疑名单中。如果两者都没有响应,那么这就不是 DNS 的问题,而是服务器、虚拟主机或网站本身的问题。
检查外部因素。例如,如果网站最近更改了 SSL 或重定向,浏览器可能会显示与您预期完全不同的错误。在这里,查看确切的消息而不是猜测是很有用的。有时一条错误信息可以节省 30 分钟的额外搜索时间。
将新的 DNS 与应该打开的内容进行匹配
更改 DNS 后,打开记录列表并与实际需要打开的内容进行比较。对于域名根通常检查 A 记录,对于 IPv6 检查 AAAA,对于子域名通常需要 CNAME。一个字母的错误会将正常网站变成死胡同。
需要查看的不仅是域名,还有子域名。例如,www 可能指向一个主机,而没有 www 的则指向另一个。如果其中一个指向旧服务器,用户将根据输入地址的方式看到不同的结果。
与迁移计划进行核对非常有帮助。如果您迁移了网站,则新的 DNS 应指向已部署网站的地址,而不是空的测试环境。这里的错误通常很简单:创建了记录,但目标仍然是旧的。
如果需要更深入地检查绑定,请将当前值与任务中应有的值进行比较。这里有三件重要的事情:记录名称、记录类型和目标地址。CNAME 中的一个多余字符或来自其他网络的 IP — 网站只会对部分请求停止响应。
检查是否切换到新的 DNS 提供商时出现故障
当域名转移到新的 DNS 提供商时,需要确保委托已完全完成。域名应设置正确的 NS,区域应由新服务器实际提供服务。否则在面板中一切看起来都很好,但在互联网上仍然存在旧配置。
检查注册商的 NS 是否与您在新提供商处填写的内容一致。如果那里仍然有一个旧地址,域名可能会表现得不可预测。这在记录在夜间更改时尤其明显,早上网站已经“时开时关”。
另一个常见的陷阱是区域已创建但未激活。新的DNS提供商可以在面板中接受域名,但不提供记录。在这种情况下,您可以看到设置,但外部世界看不到。很不方便,是吧。
检查的好方法是查看来自多个来源的NS查询响应。如果部分响应指向旧提供商,则迁移尚未完成。在这里,重要的不是一个截图,而是2-3个独立的检查。
考虑全球和用户的更新延迟
更改DNS后,一部分人会看到新地址,而另一部分人会看到旧地址。这是正常的。提供商、路由器和设备都有缓存,并且不会根据您的意愿重置。
全球更新延迟可能会持续不同的时间,因此不要仅根据一部手机或一个办公室得出结论。通过家庭互联网、移动网络和至少一个外部工具检查网站。当不同的点显示不同的结果时,这几乎总是缓存的痕迹,而不是网站故障。
如果域名最近使用了旧设置,一些解析器仍会记住它们。那么一个用户看到新服务器,另一个用户看到旧服务器,而第三个用户由于记录不匹配而收到错误。这种行为在更改A记录到另一个主机时尤为明显。
这里有一个简单的原则:不要连续5次来回更改DNS。每次新的修改都会更严重地打乱情况,之后就没有人知道哪个记录是最新的。最好固定一个更改并等待,而不是在三个选项之间徘徊。
检查IPv4和IPv6之间的冲突
有时A记录已经正确,而AAAA指向无处。对于某些设备来说,这不是小事,而是一个完整的停止信号。现代浏览器和网络喜欢IPv6,如果它出现故障,网站即使在IPv4正常的情况下也可能看起来不可访问。
请单独检查这两个记录。如果域名只应在IPv4上工作,最好不要意外保留AAAA记录。空的或旧的IPv6地址常常会造成奇怪的情况:在一个网络上网站可以打开,而在另一个网络上则无法打开。
有时情况正好相反。IPv6已经启用,而A记录指向旧服务器。这样一些用户可以顺利访问,而另一些用户则会超时。从外部看,这看起来像是混乱,但原因通常是:两个记录指向不同的方向。
如果您可以访问DNS设置,请将两个地址与工作站的地址进行比较。这里不需要猜测。需要两个数字:IPv4和IPv6。两者都应该指向网站实际响应的地方。
确保网站在目标地址上响应
即使是完美的DNS也无法拯救,如果另一端的服务器无响应。在更改记录后,需要检查主机是否在线,Web服务器是否已启动,以及是否与所需域名的绑定没有丢失。有时网站保持不变,但虚拟主机配置为旧名称。
如果服务器上有多个网站,正确的虚拟主机可以解决所有问题。同一个IP可以服务于10个域名,如果没有准确的绑定,服务器将返回错误的项目或错误。这在迁移到新平台后尤其明显,当配置似乎被复制,但域名却被遗忘。
检查服务器的响应:200、301、302、404或500。这些代码比任何支持聊天都更有意义。如果目标地址返回404,说明DNS已经到达,但主机上的网站与预期不符。
有时候,打开特定路径而不是主页是有益的,例如 /login 或 /admin。这样可以查看网站是否整体正常运行,还是仅仅是首页正常。当涉及到迁移时,简单的检查比自信的“看起来可以打开”要好。
顺便说一下,如果在检查之间需要一个娱乐性的暂停,可以看看 关于学生的笑话。免费笑话。简短的 ——这只需要1-2分钟,不超过。有时候这样的暂停可以帮助避免将旧服务器和新服务器搞混。
在更改记录后检查HTTPS和证书
DNS可能已经指向正确的主机,但浏览器仍然对HTTPS发出警告。那么问题出在证书、HSTS或重定向上。这在迁移到新IP后非常常见。
检查证书是否确实是为这个域名和子域名颁发的。如果新地址指向的服务器上证书是为其他名称颁发的,浏览器将不允许用户继续访问。在这种情况下,缓存和重启都无济于事。
HSTS增加了严格性。如果网站之前通过HTTPS运行,并且浏览器中固定了规则,尝试通过旧的或错误的配置打开它将立即导致阻止。这不是浏览器的错误,而是它的记忆,并且这种记忆持续的时间比我们希望的要长。
还有一个小细节——从http重定向到https。如果它指向旧域名,新的DNS看起来是正确的,但网站仍然无法正常访问。检查重定向后的最终地址,而不仅仅是起始点。
如果在所有步骤之后仍然不清楚网站是否在其他地方打开,可以考虑与材料核对这个问题。 如何检查网站是否存在欺诈行为有时人们将证书错误误认为是替换尝试,尽管这只是记录和域名的不匹配。
准备好要传递给托管或DNS支持的内容。
当自己的检查完成后,收集一个简短的包裹给支持。需要域名、新的NS、确切的更改时间、错误截图和已经检查的内容列表。这是5个要点,它们节省的时间比一封“我们什么都不工作”的长信要多。
不要忘记说明问题是从哪个设备和网络看到的。对于支持来说,这不是形式,而是一个有用的细节:同一个域名可以在移动网络中打开,而在家庭网络中无法打开。如果有更改,附上当前的A、AAAA和CNAME记录也很有用。
如果更改了DNS提供商,请说明之前的域名是由谁提供的,现在由谁提供。有时帮助取决于区域是否已经委托,但旧服务器仍然在某些解析器中返回响应。您描述的路径越准确,答案的循环就越少。
良好的礼仪是立即附上来自2-3个来源的检查结果,而不是仅仅一个浏览器的截图。支持更容易看到情况在哪里不一致:在区域、注册商或服务器上。猜测越少,找到瓶颈的速度就越快。
如果想在技术日常工作后稍微放松一下,可以转移注意力到 最残酷的心理学实验 — 材料并不简单,但它很好地消除了一个损坏的 DNS 让世界停滞的感觉。然后再回到日志和 NS 记录。
如果问题不稳定,还可以检查什么
如果网站只对部分用户开放,请不要只关注一个因素,而是关注 DNS、缓存和服务器这三者的组合。当这三者都不一致时,症状每小时都会变化。这正是同一个域名在早上和晚上表现不同的情况。
有时通过外部解析服务进行检查和在没有保存数据的浏览器中进行单独测试会有所帮助。不是因为这是魔法,而是因为你将本地情况与整体情况分开。如果本地表现不佳,而外部正常,问题更可能出在设备或提供商那里。
如果在迁移后你还更改了网站结构,请不要忘记旧链接。用户可能会访问一个不存在的页面,并认为域名完全损坏。实际上,只有 20 条路径中有 1 条会损坏。
是的,有时将问题视为一个链条是有益的。DNS 指向服务器,服务器提供网站,证书确认域名,而浏览器决定是否允许用户访问。如果四个元素中的一个缺失,网站就无法正常打开。
当一切都检查完毕,但访问仍然不稳定时,记录下最后两个更改,并在支持回复之前不要进行新的更改。否则,你会妨碍自己看到链条到底在哪里断裂。


