浏览量:22832次
早上打开网站,发现超级卡,以为是网速原因,调试了路由器无济于事,都说重启大法好,重启那就重启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 {}语句块。
方法二没有测试,具体效果不明,
常山做网站就找春秋科技,春秋科技是一家专注于常山网站建设、常山网站设计、常山网站制作、常山做网站、常山建网站等服务的常山网站建设公司。已成功帮助10000多家企业实现网上盈利,为企业提供常山网站建设一站式服务。
24小时服务热线:13733108860
[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【】,我们在确认后,会立即删除,保证您的版权。