宝塔面板nginx中屏蔽垃圾蜘蛛爬虫且不影响火车头发布

宝塔面板nginx中屏蔽垃圾蜘蛛爬虫且不影响火车头发布

最近服务器老是卡死,查看日志,发现了大量的垃圾蜘蛛占用服务器资源。

网上找到了一个在宝塔面板中一劳永逸的方法。

在文件目录/www/server/nginx/conf文件夹下面,新建一个文件,命名为kill_bot.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|BLEXBot|^$" ) {

     return 403;             

}

#禁止非GET|HEAD|POST方式的抓取

if ($request_method !~ ^(GET|HEAD|POST)$) {

    return 403;

}

找到网站设置里面的第7行左右,写入代码:include kill_bot.conf;
如果你网站使用火车头采集发布,使用以上代码会返回403错误,发布不了的。

如果想使用火车头采集发布,请使用下面的代码:


#禁止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|YandexBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot|BLEXBot" ) {

     return 403;             

}

#禁止非GET|HEAD|POST方式的抓取

if ($request_method !~ ^(GET|HEAD|POST)$) {

    return 403;
}
版权声明:kkvexl 发表于 9月 20, 2021 2:00 上午。
转载请注明:宝塔面板nginx中屏蔽垃圾蜘蛛爬虫且不影响火车头发布 | WP之家

相关文章

暂无评论

暂无评论...