作家
登录

Nginx限制单个IP的并发连接数/速度来减缓垃圾蜘蛛爬虫采集

作者: 来源: 2018-01-03 12:03:46 阅读 我要评论

【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞?


不知道大年夜家碰没碰着过被一些垃圾蜘蛛爬虫采集造成办事器飙升的情况,反正明月是经常性的碰着 YandexBot 、 SMTBot 等等这类不须要的收集蜘蛛爬虫的骚扰,有些甚至一天的采集量达到接近1G的流量,固然可以经由过程应用Fail2ban禁止垃圾采集爬虫,保护Nginx办事器 一文的办法来樊篱,然则这类爬虫照样会赓续变概绫躯字持续出现。

下面以 LNMP 一键安装包为例的,其他LNMP包自行参考其文档吧。

在LNMP的Nginx设备中已经添加了部分代码,然则是注释掉落的,可以编辑 /usr/local/nginx/conf/nginx.conf 文件

如下图实例截图:

注明下面的设置须要在1.1.8以上版本的Nginx的设置才有效的,至于老版本的我就不在多说了,毕竟还用老版本的┞锋心是不多见了!

查找:

  1. #limit_conn_zone $binary_remote_addr zone=perip:10m; 

将前面的#去掉落,没这一行的,话加上

  1. limit_conn_zone $binary_remote_addr zone=perip:10m; 

默认情况下,如下图所示地位:

再在要设置限制连接数的虚拟主机设备里的server段里添加上

  1. limit_conn perip 10; 

10就是单个IP的最大年夜并发连接数。

  1. limit_rate 100k;  
  2. limit_rate 为限速为 100KB/秒 。 

限制每个连接速度为100K,此限制是针对单个线程,比如,我用IE下载是100K,当悠揭捉?雷时它会占用2个线程,所以迅雷下载速度为200K,如不雅单个IP的并发数设置为10,则多线程下载的话速度可以达到100K×10。

最后运行 /usr/local/nginx/sbin/nginx -t 测试设备是否出缺点,如没出缺点履行:

  1. /usr/local/nginx/sbin/nginx -s reload 

重载设备使其生效。

至此,就完成了 Nginx 限制单个 IP 的 并发连接数 / 速度 来减缓垃圾蜘蛛爬虫采集造成的办事器负载压力了,当然效不雅照样要看实际数据采集情况的,明月会不雅察一阵子的,感到道理上应当是有效的!对单个IP有个根本的限制照样比较靠谱的,毕竟网上太多不受规矩的爬虫了。

其实,可以应用Nginx限制单个IP的并发连接数可以或许削减一些采集法度榜样或者DDOS的进击。这点儿明月一向都没有意识到,今天闲来无事就研究了一下,感到大年夜道理上照样有必定感化的,今天就分享出来,算是本身的标记,以便利今后安排运维的时刻采取。

【编辑推荐】

  1. Nginx的反向代劳与负载均衡
  2. 五分钟系列:Python 处理Nginx日记
  3. 大年夜nginx日记原始二进制数据还原文件
  4. WEB办事器若何选择 Apache or Nginx?
  5. Nginx、FastCGI、PHP-fpm关系梳理
【义务编辑:武晓燕 TEL:(010)68476606】


  推荐阅读

  被期权“骗”了三年 我却不愿意离开这个“骗局”

【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞? 文/懂懂标记在看完《一群被“浮躁”毁掉落的 95 河伯奇少年》一文后,读者黄锐明主动找到懂懂标记>>>详细阅读


本文标题:Nginx限制单个IP的并发连接数/速度来减缓垃圾蜘蛛爬虫采集

地址:http://www.17bianji.com/lsqh/40218.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)