悠悠楠杉
域名DNS查询:查到的地址不一致,怎样定位问题
域名能查到地址,网站却打不开
域名DNS查询回答的是“这个域名当前被解析成什么”,不直接回答网站能否正常打开。最常查的是 A 记录和 AAAA 记录,它们分别指向 IPv4 和 IPv6 地址;查询结果有地址,只能确认解析环节返回了信息。服务器没有响应、网站程序报错或证书异常,仍会让访问失败。
开始查询前,把输入的域名写完整。example.com 和 www.example.com 是两个查询对象,记录可以不同。若浏览器里只有带 www 的地址打不开,就查这个完整名称,不要拿主域名的结果代替。命令行里的 nslookup 域名,或公共 DNS 查询工具,都能用于查看记录;核对时保留查询时间、记录类型和使用的 DNS 服务器,便于与下一次结果对比。
结果中的 CNAME 表示该名称指向另一个域名,查询工具可能继续显示最终地址。看到地址与自己填写的记录不同,先沿着 CNAME 指向核对,别急着修改服务器配置。
更换服务器后,有些地方仍打开旧站
假设一个网站刚迁移到新服务器,域名管理后台的 A 记录已经改成新地址,管理者自己访问却仍进入旧站。此时反复刷新网页,对判断帮助有限:电脑使用的递归 DNS 可能还保存着修改前的结果,浏览器也可能留有页面缓存。
管理者查询当前正在使用的 DNS,发现它返回旧地址;再向域名的权威 DNS 查询,得到的是新地址。权威 DNS 提供该域名记录的源头信息,递归 DNS 则会代用户查询并在一定时间内缓存结果。两处结果不同,处理方向便落在缓存更新上,而不是继续改动已经正确的 A 记录。
等待多久不能只看后台显示的“生效”提示。记录原有的缓存时长、各递归 DNS 的更新时间会影响实际访问。此时保留两次查询的结果,隔一段时间再查同一台递归 DNS,观察它何时返回新地址。若访问旧站会产生错误提交,迁移期间还要确认旧服务器上的页面如何处理;仅等待解析变化,并不能消除这段时间的访问风险。
查询结果一致,访问仍有差异
若权威 DNS 和常用递归 DNS 都返回新地址,浏览器却显示旧内容,就把检查移到访问环节。换一个网络打开页面,留意返回的是旧网页、报错页,还是浏览器缓存的内容。使用了 CDN 的网站,访问者拿到的也可能是 CDN 地址,不能直接用“查询结果不是源站 IP”判断解析错误。
还有一种容易漏掉的情况:A 记录已更新,AAAA 记录仍指向旧服务。部分网络会尝试通过 IPv6 访问,于是同一域名在不同设备上表现不一。分别查询 A 和 AAAA,再对照实际访问使用的地址,比反复修改其中一条记录更稳妥。
如果查询不到记录,则回到域名管理后台核对填写的主机名和记录类型;若连权威 DNS 都查不到预期结果,还要检查域名实际使用的 NS 是否指向正在编辑的那组 DNS 服务。下一次反馈“域名没生效”时,先让对方提供完整访问地址和出现问题的网络,再用相同域名、相同记录类型复查,才能把不同来源的结果放在一起判断。

