LNMP下禁止无用User Agent抓取网站

LNMP环境是VPS评测与排名网最喜欢的WEB环境,也一直用LNMP搭建网站使用。前几天查看网站的日志发现,不少眼生的爬虫使劲的爬网站,搜索了下,这些爬虫根本没有,基本都是垃圾爬虫。

为了禁止垃圾User Agent爬虫抓取网站,达到节省宽带和节省资源的目的,就得想办法禁止垃圾User Agent爬虫来抓取自己的网站了,这里分享下LNMP即NGINX下是如何实现禁止无用User Agent抓取网站的。

在/usr/local/nginx/conf/rewrite目录下新建agent_deny.conf文件【特别提醒这个目录是最新版lnmp1.5版本】,内容如下:

#禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
return 403;
}
#禁止指定UA及UA为空的访问
if ($http_user_agent ~ "FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|YisouSpider|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" ) {
return 403;
}
#禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}

然后再需要使用的网站配置文件中加入如下内容【如vpsrr站的是vpsrr.com.conf】:

include agent_deny.conf;

如果不知道加到哪里?那就请加到类似语句的地方,呵呵~

好了后,重启下你的LNMP即可。

One thought to “LNMP下禁止无用User Agent抓取网站”

发表评论

电子邮件地址不会被公开。 必填项已用*标注