前言:站长对蜘蛛的感情,就像少女第一次约会的心情 - 怕他不来,又怕他乱来。
谷歌蜘蛛频繁抓取导致服务器负载很高,可用Nginx的ngx_http_limit_req_module模块限制了谷歌蜘蛛的抓取频率,配置如下:
#全局配置
limit_req_zone $anti_spider zone=anti_spider:60m rate=200r/m;
#server中
limit_req zone=anti_spider burst=5 nodelay;
if ($http_user_agent ~* "Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google") {
set $anti_spider $http_user_agent;
}
参数说明:
- rate=200r/m :每分钟处理200个请求
- burst=5 :最大并发为5
- nodelay : 并发达到burst值时,新请求返回503
- if部分判断来源是否为谷歌蜘蛛