这篇文章主要介绍了使用Nginx限制百度蜘蛛频繁抓取的问题,百度蜘蛛对网站的抓取频率高和抓取量骤增导致服务器负载高,经常收到警告信息,每分钟允许百度蜘蛛抓取200次,超过频率限制的返回503,对Nginx限制蜘蛛频繁抓取相关知识感兴趣的朋友一起看看吧

百度蜘蛛对网站的抓取频率高和抓取量骤增导致服务器负载高,经常收到警告信息。最终采用nginx的ngx_http_limit_req_module模块限制了百度蜘蛛的抓取频率。每分钟允许百度蜘蛛抓取200次,超过频率限制的返回503。

limit_req_zone

语法: limit_req_zone $variable zone=name:size rate=rate;

默认值: none

配置段: http

设置一块共享内存限制域的参数,它可以用来保存键值的状态。 它特别保存了当前超出请求的数量。 键的值就是指定的变量(空值不会被计算)。

这里键值使用客户端的agent, 使用$http_user_agent变量。 如果限制域的存储空间耗尽了,对于后续所有请求,服务器都会返回 503 (Service Temporarily Unavailable)错误。

请求频率可以设置为每秒几次(r/s)。如果请求的频率不到每秒一次, 你可以设置每分钟几次(r/m)。比如每秒半次就是30r/m。

全局配置nginx.conf

limit_req_zone $ning_spider zone=ning_spider:10m rate=200r/m;

某个server中

if ($http_user_agent ~* "baiduspider|Googlebot") {set $ning_spider $http_user_agent;}limit_req zone=ning_spider burst=5 nodelay;

参数说明:

指令linit_req_zone 中的rate=200r/m 表示每分钟只能处理200个请求。

指令limit_req 中的burst=5 表示最大并发为5。即同一时间只能同时处理5个请求。

指令limit_req 中的nodelay 表示当已经达到burst值时,再来新请求时,直接返回503IF部分用于判断是否是百度蜘蛛的user agent。如果是,就对变量$ning_spider赋值。这样就做到了只对百度蜘蛛进行限制了。

测试,速率达不上可以同时开多个以下脚本测试

[root@localhost ~]# cat test.sh
#! /bin/bash
sum=0;
for i in {1..1000}
do
((sum = sum + i))
curl -I -A "Baiduspider" http://www.hezongtianxia.com
curl -I -A "Sogou web spider" http://www.hezongtianxia.com
done
echo $sum
tailf /home/wwwlog/access.log|grep 503

到此这篇关于使用Nginx限制百度蜘蛛频繁抓取 的文章就介绍到这了。

简单介绍使用Nginx限制百度蜘蛛频繁抓取的问题相关推荐

  1. 网站日志百度蜘蛛频繁抓取后台的不存在的phh/asp/jsp地址的解决方案

    百度蜘蛛频繁抓取后台的不存在的phh/asp/jsp地址的解决方案? 其实这个问题困扰我已经很久了,每天百度蜘蛛都在访问后台的一些不存在hh/asp/jsp等路径从而返回404,等于每天都告知百度,我 ...

  2. php 让百度蜘蛛抓取403,百度蜘蛛不抓取页面的解决方法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我们都知道我们网站的页面要想被百度收录必须经过百度蜘蛛的抓取,因此我们要经常关注我们网站页面被抓取的情况,如果遇到不被抓取的情况,那么就要引起我们的注意, ...

  3. PHP蜘蛛抓取,百度蜘蛛频频抓取php文件怎么办(悬赏1元) - 搜外SEO问答

    最近几天网站抓取频次大涨,但是有个头疼的问题,蜘蛛频频抓取一些php文件,该文件只是我程序的调用文件.我在robots文件里面已经禁止该文件的目录了,可还是抓取.导致网站内容抓取过少. , 贴上rob ...

  4. 系统检测到您正在使用网页抓取工具访问_造成Baiduspider(百度蜘蛛)抓取网站异常的原因有哪些...

    造成Baiduspider(百度蜘蛛)抓取网站异常的原因有哪些 有一些网页,内容优质,用户也可以正常访问,但是Baiduspider却无法正常访问并抓取,造成搜索结果覆盖率缺失,对百度搜索引擎对站点都 ...

  5. 如何控制Yahoo! Slurp蜘蛛的抓取频度_国外博客资源站_百度空间

    如何控制Yahoo! Slurp蜘蛛的抓取频度_国外博客资源站_百度空间 如何控制Yahoo! Slurp蜘蛛的抓取频度 2009年08月13日 星期四 5:56 上周末豆瓣的阿北给我电话:最近你们雅 ...

  6. 蜘蛛会抓取html框架,百度蜘蛛抓取网站的基本规则

    网站做优化的都是希望搜索引擎蜘蛛可以快速抓取,这些大家都是希望的.但是蜘蛛抓取SEO网站的基本规则又是怎样的? 第一:高质量内容 网站高质量内容永远是搜索引擎蜘蛛抓取的首选.不管是谷歌还是百度,高质量 ...

  7. 四川网络推广介绍什么样的网站架构更能吸引蜘蛛爬行抓取?

    众所周知,四川网络推广网站架构搭建的越好,就越能吸引蜘蛛的爬行和抓取,同时也能更吸引用户浏览.四川网络推广优化人员也需要注意其中更多的细节来帮助网站架构设计的越来越好,从而帮助网站提升收录,提升排名的 ...

  8. 浅谈屏蔽搜索引擎爬虫(蜘蛛)抓取/索引/收录网页的几种思路

    在大部分情况下,网站开发完成后,在运营期间,都希望搜索引擎收录网站的内容越多越好,但是有的时候为了安全期间不希望搜索引擎收录网页内容,比如在外网部署的监控系统等:  以下列举了屏蔽主流搜索引擎爬虫(蜘 ...

  9. 蜘蛛能抓取thinkphp的html页面,搜索引擎的蜘蛛是如何爬的,如何吸引蜘蛛来抓取页面...

    搜索引擎的蜘蛛是如何爬的,如何吸引蜘蛛来抓取页面 搜索引擎的工作过程大体可以分成三个阶段: (1)爬行和抓取:搜索引擎蜘蛛通过跟踪链接发现和访问页面,读取页面HTML代码,存到数据库. (2)预处理: ...

最新文章

  1. 如何打造企业的组织能力?战略决定组织,而组织决定成败!
  2. iOS开发UI篇—简单介绍静态单元格的使用
  3. boost::multiprecision模块random相关的测试程序
  4. puppeteer 鼠标定位滑块_监听滑块滑动或滑块随鼠标移动 | JShare
  5. yield方法释放锁吗_死磕Synchronized底层实现重量级锁
  6. \r \n \r\n的区别
  7. android mds文件,安卓手机如何打开.mdf文件
  8. SpringBoot实现163邮箱发送邮件
  9. 2000-2019全中国省、市、县企业注册数据(包含经纬度、注册数目等多指标信息)
  10. css filter:inver属性灵活使用
  11. imx6 uboot splash image
  12. 操作系统-用信号量解决过独木桥问题
  13. 防止ACCESS数据库被下载的一个通用解决方法:
  14. 【节目单】科幻春晚,陪你过年!
  15. ubuntu和kali安装vmtool后依旧无法拖拽文件,复制粘贴,解决办法
  16. debian服务器网络性能测试,在Debian和Ubuntu上使用speedtest-cli检查Internet速度
  17. 如何解决服务之间的通信问题?
  18. 从零开始学 MySQL —数据库和数据表操作
  19. 永磁同步电机的矢量控制策略(十一)一一一弱磁控制
  20. pytest之mark

热门文章

  1. 进阶必备:CNN经典论文代码复现 | 附下载链接
  2. 一群猥琐至极的大学舍友,我有点想你们了...附骚图
  3. Python在ubuntu中更改Python和pip指向
  4. Pytorch:使用DCGAN实现数据复制
  5. 前沿 | 一文详解自动驾驶激光雷达和摄像头的数据融合方法
  6. 梯度提升树算法原理小结
  7. Kubernetes(基础 一):进程
  8. JavaScript 复制对象与Object.assign方法无法实现深复制
  9. 面试题: 难点 已看1
  10. Array Networks ***官网 客户端下载地址