上线新的 WAF 规则后,抓取量一天内从 1.5 万降到 1400,日志里 Googlebot 的请求全部返回 403,普通用户访问正常。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

nslookup 66.249.66.1
# 与官方公布的 IP 段比对
# WAF 后台把 66.249.64.0/19 加入白名单

WAF 把高频访问和特定路径组合当成扫描特征,抓取工具的 IP 段没有加白名单。规则按 UA 字符串匹配,伪造 UA 的请求也被一起放过了。这一点先确认清楚,后面就不用反复试。

「Googlebot 被 WAF 拦截」这类改动最怕改一半,回滚脚本先准备好,再动生产。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。

改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。

能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。

具体做法是,先反查 Googlebot 的 IP 是否属于官方段;把官方 IP 段加入 WAF 白名单,别只信 UA;保留 403 日志一周,确认没有误杀正常用户。

改完照着核一遍,Googlebot 请求恢复 200,三天后抓取量回到 1.2 万以上。

作者 9823189