最新消息:点击查看大S的省钱秘笈

Nginx通过判断User Agent过滤YisouSpider

Linux Slyar 292浏览 0评论

文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

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

2014-02-18_134447

一看不得了,基本上都是被一个User Agent叫"YisouSpider"的东西给刷屏了,一看就不知道是哪的蜘蛛,太没节操了,这到底是开了多少线程在爬啊。。。查一下IP吧

2014-02-19_112538

阿里巴巴你让我说你什么好呢,网上搜了一下这是阿里旗下一个叫"一搜视频"的网站发出的蜘蛛。你说一个视频网站每天爬我的博客几十万次是要闹哪样。。。

昨天被折腾了一下没待理它,今天写博客的时候居然又被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就可以了,说明配置成功

2014-02-19_110300

转载请注明:Slyar Home » Nginx通过判断User Agent过滤YisouSpider

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (8)

  1. 虚拟主机无力~
    大肥羊2年前 (2014-11-25)回复
    • VPS欢迎你。。。
      Slyar2年前 (2014-11-26)回复
      • 折腾不来
        大肥羊2年前 (2014-11-26)回复
  2. 这个确实是,我另一个网站也遇到过这个问题
    zhouleyu3年前 (2014-04-27)回复
  3. 这个确实是,我另一个网站也遇到过这个问题
    zhouleyu3年前 (2014-04-26)回复
  4. 安卓开发社区(Apper)提供优质免费的安卓源码下载、安卓游戏源码下载、安卓开发视频教程和安卓学习交流等。
    安卓开发3年前 (2014-03-20)回复
  5. 这个确实是,我另一个网站也遇到过这个问题.
    HeHe.wang|52coder.net3年前 (2014-03-12)回复
  6. 懂就是好 能够马上解决
    汇感之舟3年前 (2014-02-19)回复