这个坑值得记一笔。服务器迁移到新机房,A 记录已经改了两小时,Googlebot 仍解析到旧 IP,旧机器的 Nginx 已停,抓取日志里连续三天全是连接超时,抓取量掉七成。
真正麻烦的地方在于,几个原因的现象几乎一样。迁移前没有把 TTL 调小,缓存服务器按一天的有效期继续用旧记录;部分递归 DNS 不遵守 TTL,缓存时间更长;旧机器直接关机,没有保留一段时间的 301 兜底。
动手时先查各地解析结果
dig +short www.example.com @8.8.8.8 && dig +short www.example.com @1.1.1.1
迁移前把 TTL 降到 300
www.example.com. 300 IN A 203.0.113.10
旧机保留跳转一段时间
server { listen 80; server_name www.example.com; return 301 https://www.example.com$request_uri; }
这台环境是别人交接的,不少默认值被动过,只能一项项核。
怎么算真的好了,看的是同一批现象。多个公共 DNS 的解析结果都指向新 IP,日志里不再出现旧机器的请求,抓取量在三天内回到迁移前水平。
容易忽略的是,TTL 要在迁移前至少提前一个周期改小,改记录的同时才想起来调,等于白调。这类问题最好一次改到位,反复小改反而容易把原因搅混。
