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

这篇文章主要介绍了Nginx中配置过滤爬虫的User-Agent的简单方法,文中罗列了一些常用搜索引擎的爬虫名称以免造成不必要的过滤,需要的朋友可以参考下

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

201616112517692.png (415×354)

一看不得了,基本上都是被一个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就可以了,说明配置成功

201616112538666.png (471×165)

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”)

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

一:确定你的系统是UTF编码 [root@Tserver ~]# env|grep LANG LANG=en_US.UTF-8 二:NGINX配置文件里默认编码设置为utf-8 server { listen 80; server_name .inginx.com ; index index.html index.htm index.php; root /usr/local/nginx/html/inginx.com; ch
很多网站需要采用伪静态来访问动态网页。所以像phpcms这样的系统,都提供了一个.htaccess文件,供写伪静态规则。但这个规则是针对Apache的。在nginx服务器上并不起作用。 nginx 可以直接将伪静态规则写在配置文件中,但这个需要有服务器管理权限,普通站长不
JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。 下载解压,然后双击安装,跟普通安装程序一样。 安装完毕之后就是需要我们来设置环境变量了 假设jre安装目录为 C:\Program Files (x86)\J
在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名、网页的扩展名改变、网站域名改变等。如果不做重定向,用户的收藏和搜索引 擎数据库中的旧地址只能让访客得到一个404错误信息页面,访问流量白白丧失。不仅如此,之前该页面的一切积
apache web服务器的站点,下载pptx,docx,xlsx文件,却被浏览器当作zip文件保存。 这不是浏览器的问题,而是apache不认docx,pptx,,xlsx等Microsoft Office 2007+的文件格式,而这些文件本身是zip压缩文件,所以被apache当作zip压缩文件发给浏览器了。 做个形
利用nginx泛域名解析配置二级域名和多域名 网站的目录结构为 html ├── bbs └── www html为nginx的安装目录下默认的存放源代码的路径。 bbs为论坛程序源代码路径 www为主页程序源代码路径 把相应程序放入上面的路径通过 http://www.youdomain.com 访问