记录一下那天晚上的排查过程。换域名后改了主域名的 A 记录,两周后发现旧域名仍有 30% 的流量。用多地解析工具查,几个省市的递归 DNS 还返回旧 IP。

刚开始盯着「部分地方运营商有自己的缓存,不遵守 TTL」,折腾了半个多小时,排掉了。

原因不止一个,得分开看。旧域名的 TTL 设成了 86400,递归缓存要等一天。也可能是只改了权威解析,忘了子域名的 CNAME 还指向旧站。

少数情况下是CDN 的回源地址写的是旧域名,边缘一直回旧站。

从多个解析器查旧域名的实际结果

dig +short www.old.com @223.5.5.5; dig +short www.old.com @8.8.8.8

再往下把 TTL 提前降到 300 再做切换

dig +noall +answer www.old.com | awk '{print $2}'

接着检查子域名与 CDN 回源配置

curl -s https://api.cdn.example.com/v1/domains/old.com/config | jq '.origin'

旧域名保留 301 至少一年

curl -sI https://www.old.com/post/1024 | egrep -i 'HTTP/|location'

改完先别撤,确认这几项。各地解析在 24 小时内统一到新 IP,旧域名的请求只剩 301 跳转,搜索流量完整落到新站。

补一句。域名切换的关键是 TTL 和回源地址这两处,改解析只是第一步,切完还要按地区抽查。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189