欢迎来到北极熊_北极熊网
帮助中心

北极熊_北极熊网

热门搜索:

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

  • 时间:2020-11-20 23:00 编辑:ord 来源:北极熊 阅读:14
  • 扫一扫,手机访问
摘要:不知道大家碰没碰到过被一些垃圾蜘蛛爬虫采集造成服务器飙升的情况,反正明月是经常性的碰到 YandexBot 、 SMTBot 等等这类不需要的网络蜘蛛爬虫的骚扰,有些甚至一天的采集量达到接近1G的流量,虽然可以通过使用Fail2ban禁止垃圾采集爬虫,保护Nginx服务器一文的办法来屏蔽,但是这类爬虫还是会不断变更名字继续出现。其实,可以使用Nginx限制单个IP的并发连接数能够减少一些采集程序或者DDOS的攻击。这点儿明月一直都没有意

不知道大家碰没碰到过被一些垃圾蜘蛛爬虫采集造成服务器飙升的情况,反正明月是经常性的碰到 YandexBot 、 SMTBot 等等这类不需要的网络蜘蛛爬虫的骚扰,有些甚至一天的采集量达到接近1G的流量,虽然可以通过使用Fail2ban禁止垃圾采集爬虫,保护Nginx服务器一文的办法来屏蔽,但是这类爬虫还是会不断变更名字继续出现。
在这里插入图片描述

其实,可以使用Nginx限制单个IP的并发连接数能够减少一些采集程序或者DDOS的攻击。这点儿明月一直都没有意识到,今天闲来无事就研究了一下,感觉从原理上还是有一定作用的,今天就分享出来,算是自己的笔记,以方便以后部署运维的时候采用。

下面是以军哥 LNMP 一键安装包 的,其他LNMP包自行参考其文档吧。
在LNMP的Nginx配置中已经添加了部分代码,但是是注释掉的,可以编辑/usr/local/nginx/conf/nginx.conf 文件

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

查找:

#limit_conn_zone $binary_remote_addr zone=perip:10m;

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

limit_conn_zone $binary_remote_addr zone=perip:10m;

默认情况下,如下图所示位置:
在这里插入图片描述

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

limit_conn perip 10;
10就是单个IP的最大并发连接数。
limit_rate 100k;
limit_rate为限速为 100KB/秒。

如下图实例截图:
在这里插入图片描述
限制每个连接速度为100K,此限制是针对单个线程,比如,我用IE下载是100K,当用迅雷时它会占用2个线程,所以迅雷下载速度为200K,如果单个IP的并发数设置为10,则多线程下载的话速度可以达到100K×10。
最后运行 /usr/local/nginx/sbin/nginx -t 测试配置是否有错误,如没有错误执行:

/usr/local/nginx/sbin/nginx -s reload
重载配置使其生效。

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


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【今日头条|头条】3个神奇又实用的小破站!(2020-12-01 22:47)
【今日头条|头条】微信第 1 行代码曝光!【文末送书】(2020-11-29 21:09)
【今日头条|头条】手机收不到验证码要小心,330万老年机被植入木马(2020-11-28 23:05)
【今日头条|头条】高通骁龙875发布在即,有数码博主已经放出(2020-11-28 23:00)
【今日头条|头条】华为荣耀划清界限,今后要做最强对手(2020-11-27 22:07)
【技术文档|安全】宝塔面板被曝存在删库风险漏洞(2020-11-27 21:40)
【技术文档|运维】destoon 发布总数限制与免费发布数量设置(2020-11-27 21:37)
【技术文档|运维】destoon 系统目录文件结构(2020-11-25 21:39)
【程序人生|】destoon 模板存放规则及语法参考(2020-11-25 21:38)
【技术文档|运维】destoon URL Rewrite(伪静态)设置方法(2020-11-25 21:31)
联系我们
电话:18936411277
邮箱:1044412291@qq.com
时间:09:00 - 19:00
公众号:北格软件
底部广告