欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Nginx中配置过滤爬虫的User-Agent的简单方法

程序员文章站 2023-11-10 20:53:34
过去写博客的时候经常出现服务器宕机,网页全部刷不出来,但是ping服务器的时候又能ping通。登录ssh看了下top,惊呆了,平均负载13 12 8。瞬间觉得我这是被人dd...

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

Nginx中配置过滤爬虫的User-Agent的简单方法

一看不得了,基本上都是被一个user agent叫"yisouspider"的东西给刷屏了,一看就不知道是哪的蜘蛛,太没节操了。
找到根目录配置区,增加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就可以了,说明配置成功

Nginx中配置过滤爬虫的User-Agent的简单方法

ps:一些常见爬虫的user-agent,这些一般就不要过滤了~
百度爬虫
* baiduspider+(+http://www.baidu.com/search/spider.htm”)

google爬虫
* mozilla/5.0 (compatible; googlebot/2.1; +http://www.google.com/bot.html)
* googlebot/2.1 (+http://www.googlebot.com/bot.html)
* googlebot/2.1 (+http://www.google.com/bot.html)

雅虎爬虫(分别是雅虎中国和美国总部的爬虫)
*mozilla/5.0 (compatible; yahoo! slurp china; http://misc.yahoo.com.cn/help.html”)
*mozilla/5.0 (compatible; yahoo! slurp; http://help.yahoo.com/help/us/ysearch/slurp”)

新浪爱问爬虫
*iaskspider/2.0(+http://iask.com/help/help_index.html”)
*mozilla/5.0 (compatible; iaskspider/1.0; msie 6.0)

搜狗爬虫
*sogou web spider/3.0(+http://www.sogou.com/docs/help/webmasters.htm#07″)
*sogou push spider/3.0(+http://www.sogou.com/docs/help/webmasters.htm#07″)

网易爬虫
*mozilla/5.0 (compatible; yodaobot/1.0; http://www.yodao.com/help/webmaster/spider/”; )

msn爬虫
*msnbot/1.0 (+http://search.msn.com/msnbot.htm”)