前言:站长对蜘蛛的感情,就像少女第一次约会的心情 - 怕他不来,又怕他乱来。

谷歌蜘蛛频繁抓取导致服务器负载很高,可用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部分判断来源是否为谷歌蜘蛛