网站遇到Bytespider爬虫该怎么办?

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/li1017099394/article/details/96488281

早上打开网站,发现超级卡,以为是网速原因,调试了路由器无济于事,都说重启大法好,重启那就重启web服务试试,可惜依旧没用,不过重启的时候发现CPU彪到99,我还以为是被谁Doos了。

发现问题:

查看日志发现是来自于Bytespider的爬虫。

服务器配置是4H8G10M,基本上中型 网站这配置都够了,我还是刚搭建的没有什么流量,就被这Bytespider给拖垮了。

爬虫IP基本上都是来源石家庄,而且是同IP段,一直在爬取,网上找有的说是头条的蜘蛛(没有证据)。

解决思路:

1.因为我没有服务器的登录权限,所以我猜想用CC防护和web应用防护能否阻挡呢?

使用阿里云最基础的“web应用防护”,开启后并没有什么效果,5分钟过去,cpu依旧99%。

2.推测使用拉黑IP段的方式来解决。

先整理出这些爬虫的IP段:

60.8.165.0/24

111.225.0.0/24

110.249.0.0/24

220.243.0.0/24

基本为这四个ip段,对这四个IP段进行拉黑,在web应用安全这里进行配置规则。

si

四个IP段拉黑后,服务器cpu瞬间将至10%。

问题解决。

结论:

Bytespider爬虫虽然不比Doos,cc,可是对于web服务来讲多大的服务(相对来讲)都能拖垮~~~~~。一定要ban掉。

二、这是测试有效的方式,还有网上找到的另外一种方式,通过ningx 拉黑ip:

在Nginx的conf目录下面建立blockip.conf文件(名称可以随意),把想要屏蔽的IP只要加入这个文件即可,格式如下:

deny 195.91.122.67;

一行添加一个,添加完成后保存。

在Nginx的配置文件XX.conf按照相应格式加入代码如下,唯一需要注意的是相对路径。

1	include blockip.conf; 

重启Nginx:

/usr/local/nginx/nginx -s reload

屏蔽ip的文件既可以屏蔽单个ip,也可以屏蔽ip段,或者只允许某个ip或者某个ip段访问。

#屏蔽单个ip访问
deny IP;
 #允许单个ip访问
allow IP; 
#屏蔽所有ip访问
deny all; 
#允许所有ip访问
allow all; 
#屏蔽整个段:从123.0.0.1到123.255.255.254
deny 123.0.0.0/8;
#屏蔽IP段:从123.45.0.1到123.45.255.254
deny 123.45.0.0/16;#
屏蔽IP段:从123.45.6.1到123.45.6.254
deny 123.45.6.0/24;

除了几个IP外,其他全部拒绝,那需要你在blockip.conf中这样写:

allow 1.1.1.1;
allow 1.1.1.1; 
allow 1.1.1.2;
deny all;  

单个网站屏蔽IP的方法:把include blocksip.conf;放到网址对应的在server {}语句块;多个网站屏蔽IP的方法:把include blocksip.conf;放到http {}语句块。

方法二没有测试,具体效果不明,


想到哪里写到那里,文章可能不通顺,解决问题最重要。

梦想成为技术大佬,却被现实按在地上摩擦的小白敬上。

猜你喜欢

转载自blog.csdn.net/li1017099394/article/details/96488281