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)
内存溢出遭到一个叫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) |