机房整体迁移换了公网 IP,DNS 记录当天就改了。百度蜘蛛三天内仍有大量请求落在旧机器上,旧机器已经下线,返回全是连接失败,抓取量统计直接腰斩。
把日志和配置对完,能解释这个现象的基本就这几处。DNS 的 TTL 设成 86400,递归服务器要一天后才重新解析;旧机器下线太快,没有保留一段过渡期的反向代理;站点没有在搜索资源平台做 IP 变更后的抓取诊断;新机器防火墙只放行 80 未放行 443 部分抓取直接连接失败。
上来先确认各地解析是否已经指向新 IP
nslookup www.example.com 8.8.8.8; nslookup www.example.com 223.5.5.5
旧机器保留一周并反代到新站
location / { proxy_pass https://new.example.com; }
再往下在新机器上发起抓取诊断
curl -s -o /dev/null -w '%{http_code} %{time_total}\n' https://www.example.com/
末了观察抓取量是否回到迁移前
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head
改完先别撤,确认这几项。旧机器保留反代一周后,两个 IP 上的抓取量此消彼长,第十四天全部落到新机器,抓取总量恢复到迁移前。
换 IP 这类变更把 TTL 提前降到 300 再切,旧机器至少留 72 小时,蜘蛛的解析缓存比浏览器顽固得多。改动前把原配置备份一份,出问题能马上回滚,这比任何技巧都实用。
