最近查看网站蜘蛛爬取情况,发现很多如SemrushBot、AhrefsBot之类的垃圾蜘蛛占比非常大,而且占用服务器资源。
网上搜索一番,找到了一个在宝塔面板中一劳永逸的方法。
在文件目录/www/server/nginx/conf文件夹下面,新建一个文件,命名为
agent_deny.conf
添加如下代码
#禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
return 403;
}
#禁止指定UA及UA为空的访问
if ($http_user_agent ~* "FeedDemon|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|HttpClient|MJ12bot|heritrix|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot|^$" ) {
return 403;
}
#禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}
找到网站设置里面的第7行左右,写入