网站换了服务器,域名解析改完半小时,自己电脑 ping 出来还是旧 IP,浏览器打开也是旧页面。这时候先别改 hosts,做一次刷新dns缓存往往就好了。
Windows:一条 ipconfig 就够
以管理员身份打开命令提示符,输入 ipconfig /flushdns,看到「已成功刷新 DNS 解析缓存」即可。想先看看缓存里存了什么,用 ipconfig /displaydns,输出里能找到域名对应的记录和 TTL。
Mac 和 Linux 各有一条命令
macOS 在终端执行 sudo killall -HUP mDNSResponder,近几年系统基本都适用。Linux 用 systemd-resolved 的发行版执行 sudo resolvectl flush-caches;还在用 nscd 的老系统则是 sudo systemctl restart nscd。
浏览器自己也存了一份
Chrome 地址栏打开 chrome://net-internals/#dns,点 Clear host cache,再把 sockets 页的连接清一遍。Firefox 在 about:networking 的 DNS 页里也能清。别小看这一层,有时候系统缓存清了,页面还是旧地址。
刷完还是旧地址,问题不在本机
刷新dns只清本机缓存,改不了运营商和公共 DNS 里的记录。域名解析有 TTL,常见 300 秒到 24 小时,没到期就继续用旧值。可以用 nslookup 域名 8.8.8.8 和本地结果对比,两边不一样就再等,或者临时换个 DNS 服务器验证。
还有一种情况:本机 hosts 文件里写过固定映射,优先级比 DNS 高,不改掉它刷多少次都没用。文件在系统盘的 Windows/System32/drivers/etc 目录下,用记事本以管理员身份打开检查。
公共 DNS 的缓存时间一般比权威记录长,换完服务器别只测自己一个网络,手机流量也打开看一眼。
判断:本机缓存问题,一条命令就解决;手机、公司其他电脑都指向旧 IP,那就是解析记录或 TTL 的事,去域名服务商后台核对。