可能重复:
A 记录传播需要多长时间?
我最近更改了名称服务器,已经 24 小时了。我的一些访问者抱怨他们仍在查看旧网站,而另一些访问者已经查看了新网站。有没有办法加快 DNS 传播速度,而无需更新每个访问者的 hosts 文件?
在更改名称服务器时,是否有任何最佳做法可以最大限度地减少此问题?
答案1
DNS 记录不会传播,也就是说它们不会从您的服务器“推送”到其他解析器。实际上,当其他 DNS 服务器查找您的域名时,它们会缓存记录以供X 秒这样他们就不必对后续请求进行另一次查找。X 秒 应该由从名称服务器检索记录时的 TTL 值决定。如果您已经更改了地址,那么您只能坐等了。如果您事先计划好了,您可以降低 TTL 值。
一些较大的 DNS 解析器缓存的时间比 TTL 更长,这违反了相关的 RFC(但它们并不关心)。如果您可以将此问题追溯到几个名称服务器,则可以向运营商发送电子邮件并要求他们使您的区域的缓存无效,以便他们停止使用缓存的(旧)记录。
不过,老实说,除非这种情况持续很长一段时间,否则你最好坐下来等待,并为下一次迁移制定更好的计划,因为损害已经造成了。
答案2
除了确保按照其他答案的建议使用较低的 TTL 进行预发布之外,还要确保您的老的名称服务器要么a)关闭,要么b)提供新的区域文件。
原因已在我的回答中解释这个问题但简而言之——一些解析器将继续查询旧的名称服务器,并且不会注意到父区域已经发生变化。
答案3
在更改名称服务器时,是否有任何最佳做法可以最大限度地减少此问题?
正如 MarkM 所说 - 将默认 TTL 设置为小值。最好的做法是“提前思考”,即在变化时间之前设置较小的 TTL,等待旧记录过期,然后更改 RR 数据。
答案4
正如大家已经说过的,换句话说:
TTL 的传播速度与任何其他记录一样慢。因此您无法使固定通过减少 TTL 来减少 DNS 传播。其目的是防止长缓存记录。它不保证快速传播。