最常见原因是dns缓存未逐层刷新。需先验证新解析是否生效,再依次清理本地设备、浏览器、hosts文件、路由器及运营商缓存,并检查a/cname记录、ttl设置与保存状态。

DNS记录配置完成后,网站仍显示旧页面,最常见原因就是缓存未刷新——不是解析没生效,而是新记录被“挡”在了半路。关键要分清缓存层级,并逐层清理,不能只刷一次就等结果。
先确认新记录是否真已生效
别跳过这步。很多问题其实出在配置本身:比如A记录填错IP、CNAME指向了错误域名、TTL设得过高(如86400秒),或忘记保存/发布更改。建议用权威方式验证:
- 登录域名服务商后台,核对解析记录的状态、主机名、记录类型、值、TTL是否全部正确;
- 用命令行查权威DNS:
dig @ns1.your-dns-provider.com example.com A +short(把ns1.your-dns-provider.com换成你实际的DNS服务器地址),看返回的是否为新IP; - 用在线工具如DNS Checker查全球多地解析结果,确认新记录已在权威侧同步完成。
本地设备DNS缓存必须清
Windows、macOS、Linux各自缓存机制不同,命令也不同,错用无效:
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
-
Windows:以管理员身份运行CMD,执行
ipconfig /flushdns;也可用PowerShell运行Clear-DnsClientCache; -
macOS Ventura及以上:终端中输入
sudo killall -HUP mDNSResponder; -
macOS Monterey及更早:执行
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; -
Linux(启用systemd-resolved):运行
sudo systemd-resolve --flush-caches;若用dnsmasq,需重启服务:sudo systemctl restart dnsmasq。
别忘了浏览器和hosts文件
这两处常被忽略,却能直接覆盖系统DNS结果:
- 浏览器自带DNS缓存:Chrome/Edge访问
chrome://net-internals/#dns,点“Clear host cache”;或快捷键Ctrl+Shift+Delete(Win)清除“缓存的图像和文件”+“Cookie及其他站点数据”; - 检查hosts文件是否手动绑定了旧IP:
Windows路径:C:\Windows\System32\drivers\etc\hosts;
macOS/Linux路径:/etc/hosts;
用记事本或文本编辑器打开,删掉含该域名的行,保存即可。
路由器与运营商缓存绕不开
家庭路由器通常自带DNS缓存,而运营商DNS节点可能缓存数小时甚至更久:
- 重启路由器是最简单有效的方式:断电30秒再通电,等待完全启动后重试;
- 临时切换DNS绕过运营商缓存:将电脑或路由器的DNS服务器改为
8.8.8.8(Google)或1.1.1.1(Cloudflare),这样请求直连公共DNS,不经过本地ISP缓存; - 如需长期稳定,可在路由器后台固定设置公共DNS,并关闭其DNS代理功能(如有)。










