当前位置: > Linux服务器 > nginx >

nginx屏蔽某些UserAgent,来杜绝垃圾爬虫

时间:2015-06-28 20:38来源:linux.it.net.cn 作者:IT
内存溢出遭到一个叫Linguee Bot的爬虫的频繁骚扰,所以不得不屏蔽这个爬虫,nginx屏蔽爬虫的配置如下:

        if ($http_user_agent ~* "Linguee Bot") {
                return 403;
        }这条语句是根据正则来匹配,如果User Agent匹配上了Linguee Bot,那么直接返回403,这里的if语句必须放在server或者location范围内,不能放在http范围内。

添加此配置之后,可以通过nginx -t命令先验证一下配置语法是否 有问题,若没有问题,则可以通过nginx -s reload来应用配置。

配置成功之后就可以通过下面的命令来验证配置是否生效了

curl -I -A "Linguee Bot" ju.outofmemory.cn如果返回下面的输出,则说明配置已经生效了:

HTTP/1.1 403 Forbidden
Server: nginx/1.2.6
Date: Sat, 04 May 2013 12:09:32 GMT
Content-Type: text/html
Content-Length: 168
Connection: keep-alive
Vary: Accept-Encoding (责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容