早上打开网站,发现超级卡,以为是网速原因,调试了路由器无济于事,都说重启大法好,重启那就重启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只要加入这个文件即可,格式如下:
一行添加一个,添加完成后保存。
在Nginx的配置文件XX.conf按照相应格式加入代码如下,唯一需要注意的是相对路径。
重启Nginx:
屏蔽ip的文件既可以屏蔽单个ip,也可以屏蔽ip段,或者只允许某个ip或者某个ip段访问。
除了几个IP外,其他全部拒绝,那需要你在blockip.conf中这样写:
单个网站屏蔽IP的方法:把include blocksip.conf;放到网址对应的在server {}语句块;多个网站屏蔽IP的方法:把include blocksip.conf;放到http {}语句块。
方法二没有测试,具体效果不明,
想到哪里写到那里,文章可能不通顺,解决问题最重要。
梦想成为技术大佬,却被现实按在地上摩擦的小白敬上。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net