dvi*_*yak 4 domain-name-system cache domain-name
我目前正在将旧网站(从旧托管服务提供商)转移到现代解决方案。由于我的上下文特定要求(包括财务限制),我决定在具有静态 IP 地址的 Digitalocean droplet(虚拟化 linux 实例)上备份和复制网站104.131.187.206
。我已经适当地配置了所有内容,清理了复制与其系统紧密耦合的 Web 应用程序等产生的各种松散端,并且复制的网站运行良好。
现在,我的目标是将现有域名指向DO droplet 上的mcbc.on.ca
新重复网站。传统(共享)托管服务提供商的 IP 地址是216.251.32.98
. 显然mcbc.on.ca
一直指向这个地址。我想要的是mcbc.on.ca
指向104.131.187.206
. 此外,我仍在使用传统托管服务提供商的 DNS 和名称服务器。
我的任务应该很简单 - 只需修改mcbc.on.ca
Zone 文件中现有的 A 条目,使其现在指向104.131.187.206
. 现在,我还想保留对原始网站的现有引用,因此我original.mcbc.on.ca
为该点添加了一个新的 A 条目216.251.32.98
。
我昨天成功完成了所有这些,并且我的 DNS 更改已经成功传播(使用此工具验证)。仅供参考,我进行更改已经大约 12 个小时了。
我的问题:由于某种奇怪的原因,每当我访问 网站时mcbc.on.ca
,它有时会解析为 OLD 地址216.251.32.98
,而有时会正确解析为104.131.187.206
。我会说旧地址的频率约为 40%,新地址的频率约为 60%。这显然是一个问题。
考虑到我已经等了很长时间(虽然我知道 12 小时肯定少于 48 小时),以及我上面提到的工具显示 DNS 记录已经传播到所有世界上,我怀疑我的家庭互联网 ISP 提供商有一个陈旧的 DNS 缓存。
我的问题:我说得对吗?如果没有,你认为我的问题是什么?
正确地说,DNS 不会传播。记录有一个 TTL(生存时间),这是其他缓存 DNS 服务器应该保留现有查找答案的时间。你会想要进行更多的自我教育,而不是遵循“12 小时应该做”之类的缩略图规则。
如果权威名称服务器显示正确的结果,那就是故事的结尾。由于至少有一些(如您所说,大多数)其他名称服务器正在显示更新的答案,因此您已完成。你已经做了你需要做的,事实上几乎所有你能做的。
(在预期的更改之前很长时间降低您的 TTL 通常是个好主意,并且您不会说是否这样做了,或者 TTL 是从什么开始的。而且由于您没有提供实际细节,我们可以不检查。)
/Edit - 现在我们可以看到你的 TTL,它被设置为 1 天。假设 TTL 最近没有更改为该值,这意味着任何拥有旧记录的人都会在收到该答案后将其保留至少 24 小时。请求者(通常是其他 DNS 服务器)不会重新查询以查看您在接下来的 24 小时内所做的任何更改。在您的情况下,至少在更改前 24 小时,您应该将 TTL 降低到您的 DNS 提供商允许的较低值。
如果您家用 PC 的上游 DNS 提供商不遵守 TTL,请使用不同的 TTL,并确保您的本地缓存已被清除。