这个坑值得记一笔。日志里大量自称 Googlebot 的请求,IP 却不在官方公布的网段内,抓取频率特别高,还把整站文章都拉了一遍。
这类报错背后常见的原因有几处,逐个排除就行。有人用伪造 UA 抓取内容,绕过简单的内容保护;部分代理和预渲染服务也会伪装成蜘蛛;CDN 回源后真实 IP 丢失,日志里全是节点地址。
反查 IP 归属验证真假
host 66.249.66.1
随后在 Nginx 里按真实 IP 段放行
set_real_ip_from 66.249.64.0/19;
末了对伪造 UA 的请求限速
limit_req zone=fake burst=5 nodelay;
同事提醒我看一下最近一次发布,时间点确实对得上。
命令输出我都留了记录,免得改完记不清原来的值。
改完先别撤,确认这几项。日志里伪造请求被限速,真实蜘蛛的抓取不受影响,源站负载下降,内容也不再被整站搬走。
容易忽略的是,只看 UA 做放行等于把门敞开,蜘蛛验证要靠反向解析或官方 IP 列表,否则内容很容易被批量抓走。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。