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

 更新时间:2016年01月06日 11:28:25   作者:姜南  
这篇文章主要介绍了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”)

相关文章

  • nginx简单配置多个server的方法

    nginx简单配置多个server的方法

    这篇文章主要介绍了nginx简单配置多个server的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 详解Nginx http资源请求限制(三种方法)

    详解Nginx http资源请求限制(三种方法)

    这篇文章主要介绍了Nginx http资源请求限制,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • nginx部署前端项目的超级详细步骤记录

    nginx部署前端项目的超级详细步骤记录

    众所周知Nginx是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,这篇文章主要给大家介绍了关于nginx部署前端项目的超级详细步骤,需要的朋友可以参考下
    2023-02-02
  • Nginx+PHP(FastCGI)搭建高并发WEB服务器(自动安装脚本)第二版

    Nginx+PHP(FastCGI)搭建高并发WEB服务器(自动安装脚本)第二版

    Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建胜过Apache十倍的Web服务器(第5版) 编写
    2011-04-04
  • nginx禁用特定ip的方法详解

    nginx禁用特定ip的方法详解

    Nginx是一款轻量级的Web服务器、反向代理服务器及电子邮件代理服务器,其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,本文主要介绍利用nginx来禁用特定ip的方法,需要的朋友可以参考下
    2023-09-09
  • 通过Nginx定义Header头信息的实现步骤

    通过Nginx定义Header头信息的实现步骤

    本文主要介绍了通过Nginx定义Header头信息的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 深入探究Nginx体系化之虚拟主机分类及配置实现

    深入探究Nginx体系化之虚拟主机分类及配置实现

    Nginx,这款备受推崇的高性能 Web 服务器,以其强大的性能和灵活的配置而广受欢迎,在实际应用中,虚拟主机是一项重要的功能,允许我们在单个服务器上托管多个网站,本文将深入探讨 Nginx 虚拟主机的分类和配置实现,帮助您构建一个高效多站点托管平台
    2023-08-08
  • 详解Nginx搭建图片服务器过程

    详解Nginx搭建图片服务器过程

    本篇文章给大家图文详细讲解了Nginx搭建图片服务器的过程以及中间遇到的问题处理方法,一起跟着小编学习下吧。
    2017-12-12
  • Nginx下实现pathinfo及ThinkPHP的URL模式

    Nginx下实现pathinfo及ThinkPHP的URL模式

    本篇文章主要介绍了Nginx下实现pathinfo及ThinkPHP的URL模式。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 为Nginx动态添加模块的方法

    为Nginx动态添加模块的方法

    这篇文章主要介绍了为Nginx动态添加模块的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07

最新评论