文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。
这几天在写博客的时候经常出现服务器宕机,网页全部刷不出来,但是Ping服务器的时候又能Ping通。登录SSH看了下top,惊呆了,平均负载13 12 8。瞬间觉得我这是被人DOS了么?看了下进程基本上都是php-fpm把CPU给占了,去看下日志吧。。。
一看不得了,基本上都是被一个User Agent叫"YisouSpider"的东西给刷屏了,一看就不知道是哪的蜘蛛,太没节操了,这到底是开了多少线程在爬啊。。。查一下IP吧
阿里巴巴你让我说你什么好呢,网上搜了一下这是阿里旗下一个叫"一搜视频"的网站发出的蜘蛛。你说一个视频网站每天爬我的博客几十万次是要闹哪样。。。
昨天被折腾了一下没待理它,今天写博客的时候居然又被DOS了。。。我!@#@¥!@#¥!@
是你逼我的,不要怪我。。。vim开nginx的配置文件,基本都在/usr/local/nginx/conf/xxx
找到根目录配置区,增加User Agent过滤判断语句,发现叫"YisouSpider"的直接返回403
注1:如果需要增加多个过滤,这样做 ($http_user_agent ~* "Spider1|Spider2|Spider3|Spider4"),中间用|隔开就行了
注2:如果你是用的是子目录博客,像我的一样,那么要找到 "location /blog/" 这样的区段去修改
location / {
......其它配置
if ($http_user_agent ~* "YisouSpider") {
return 403;
}
}
配置完成wq保存后reload一下nginx,然后使用以下命令自我测试,地址自己改。没装curl的我就没办法了,自己apt或者yum装一个吧,神器来的。
curl -I -A "YisouSpider" www.slyar.com/blog/
看到返回403就可以了,说明配置成功