我最近将我的域名转移到了一个新的注册商,转移完成后,我更新了我的名称服务器以指向完全不同的名称服务器。
这是大约 12 小时前的事。从那时起,我在尝试访问我的网站时遇到了各种奇怪的问题,我认为其中大部分问题都与 DNS 缓存导致的 DNS 传播延迟有关。我知道你通常要等 24 小时确保 DNS 记录更改已完全传播,但我不确定为什么会发生这种情况:
1) 使用笔记本电脑上的 Ubuntu 连接到家里的 Wifi,我无法访问我的网站。Chrome 显示 DNS 查找失败:error: -105 (ERR_NAME_NOT_RESOLVED)
2) 使用手机的 Wifi,我无法访问我的网站(DNS 查找失败,chrome 在我的手机上给出相同的结果)。但是,使用我的 4G 数据,我可以完美地查看网站。
现在这两个对我来说是有意义的:也许我的 ISP 正在缓存 DNS 查找(虽然我不确定如果查找失败它为什么会这样做)。
3) 我的笔记本电脑在执行ping
网站时出现故障。但是,有时可以dig
正常工作!如果我运行dig www.mywebsite.com
它会失败,但如果我执行dig http://www.mywebsite.com
它会成功!(类似的事情发生在nslookup
:它只适用于http://
)
谁能解释一下这里发生了什么?
答案1
我遇到了同样的问题(通过 VPN、移动设备和其他 wifi 均可,只是我的 wifi 不行),我认为这与 @milli 提到的一样,与 DNS 记录的 TTL(生存时间)缓存有关。
我的 DNS 主机具有在更改服务器等时将 TTL 记录降低到 5 分钟的功能。也许您可以找到并启用该功能,或者联系您的 DNS 主机获取信息(如果他们支持该功能)。
答案2
是的,注册商可能需要长达 24 小时才能完成更改,但大多数注册商都很快(大多数注册商通过其网站只需几分钟即可完成)。如果您的旧 DNS 托管地点使用标准的 2 天 TTL(生存时间)或不再具有权威性,更改后最多可能需要 48 小时因为 NS 记录会从各处的缓存中刷新,特别是在旧位置没有权威地回答的情况下...com、net 和 org(以及大多数其他)顶级 NS 记录的默认 TTL 为 2 天,并且在后一种情况下发挥作用..
您可能在进行更改之前检查过您的网站,对吗?这意味着您的 ISP 只是缓存了旧的 NS 记录集,并且可能需要最长的时间才能切换。
无论如何,对我来说很好用:
$ dig www.mywebsite.com
; <<>> DiG 9.9.3 <<>> www.mywebsite.com
;; global options: +cmd
;; Got answer: ;; ->>HEADER<<- opcode: QUERY,status: NOERROR, id: 11939
;; flags: qr rd aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.mywebsite.com. IN A
;; ANSWER SECTION:
www.mywebsite.com. 10800 IN A 216.250.121.107
(是的,如果您不输入真实的 DNS 名称,就无法真正验证这些……)
此外,dig
它还是一个 DNS 故障排除工具。它只能识别域名,而不能识别 URI。并且它的行为与 Web 浏览器使用的系统中的 DNS 解析器代码不同。