把域名指向新服务器已经两个小时,本地访问还是旧地址,换网络环境又能看到新地址。

这类报错背后常见的原因有几处,逐个排除就行。本地或运营商缓存还没到期;记录本身的生存时间设置得很长;权威解析还没有同步到所有节点。

直接查权威解析结果

dig +short @8.8.8.8 域名

接着查本地缓存剩余时间

dig 域名 | grep -A1 'ANSWER SECTION'

刷新本机解析缓存

systemd-resolve --flush-caches

末了用不同网络环境交叉验证

nslookup 域名 114.114.114.114

这次没动代码,只在配置和运行环境上找原因。

隔了一天再看,现象没变,说明不是偶发。

那几天正好在做别的变更,先把时间线对齐才敢动手。

改完先别撤,确认这几项。权威结果与本地解析一致,访问指向新服务器,业务验证通过。

这里还有个坑。切换前把生存时间调小能大幅缩短生效时间;临近切换时改解析,很容易被缓存拖住半天。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。

作者 9823189