经常会有一些不遵守robots规则的垃圾爬虫爬取网站信息,浪费了网站的带宽以及资源,可通过nginx对其进行屏蔽,示例如下:
~*代表不区分大小写匹配,所以大小写都无所谓的
屏蔽AhrefsBot垃圾爬虫
if ($http_user_agent ~* AhrefsBot) {
return 403;
}
如果需要屏蔽多个爬虫,可配置如下:
if ($http_user_agent ~* AhrefsBot|MSNBot) {
return 403;
}
具体的配置信息如下:
server {
listen 80;
server_name *****;
if ($http_user_agent ~*"qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo!Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou webspider|MSNBot|ia_archiver|Tomato Bot")
{
return 403;
}
在linux下可通过命令测试:
curl -iA "AhrefsBot" www.fsech.com
此网站已屏蔽AhrefsBot爬虫,可做测试,返回结果为403