Nginx通过判断User Agent过滤YisouSpider

[ 2014-10-14 20:13:08 | 作者: admin ]
字号: | |
http://www.slyar.com/blog/nginx-user-agent-yisouspider.html

这几天在写博客的时候经常出现服务器宕机,网页全部刷不出来,但是Ping服务器的时候又能Ping通。登录SSH看了下top,惊呆了,平均负载13 12 8。瞬间觉得我这是被人DOS了么?看了下进程基本上都是php-fpm把CPU给占了,去看下日志吧。。。

attachments/201410/14_201353_20140218_134447.png

一看不得了,基本上都是被一个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就可以了,说明配置成功
[最后修改由 admin, 于 2014-10-14 20:14:41]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2236

这篇日志没有评论。

此日志不可发表评论。