宝塔面板下nginx屏蔽垃圾蜘蛛禁止抓取不影响火车头发布

最近发现在宝塔的日志下看到很多垃圾支柱来爬行,这些垃圾蜘蛛爬行的日志很干扰我对于日志数据的查阅,今天查询了下关于宝塔面板下nginx屏蔽垃圾蜘蛛禁止抓取不影响火车头发布的方法,分享给大家去做下学习。希望对你服务器使用宝塔面板管理有一定的帮助;


最近查看服务器日志,发现一些垃圾蜘蛛,一直爬行很多,比如以下这些垃圾,太烦人了。

Mozilla/5.0 (compatible; SemrushBot/6~bl; +http://www.semrush.com/bot.html)
Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)

本人一直使用的linux系统服务器宝塔面板管理,个人感觉比较方便。网上查找方法,屏蔽这些垃圾。

网上找到的代码如下:目前为止比较好用。

#禁止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;
}

宝塔面板下使用方法如下:

1、找到文件目录/www/server/nginx/conf文件夹下面,新建一个文件

agent_deny.conf

内容就是以上代码。

2.找到网站设置里面的第7行左右 写入代码: include agent_deny.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 ) {
return 403;             
}
#禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}

最后重启重启nginx,就可以在网站日志里看到防御效果了。

相关文章

这篇文章主要介绍“宝塔面板mysql无法启动问题如何解决”的相...
这篇文章主要介绍“Docker中如何安装宝塔”的相关知识,小编...
最近发现在宝塔的日志下看到很多垃圾支柱来爬行,这些垃圾蜘...
最近网站更换了服务器,安装了宝塔面板,安装好以后发现安装...
最近一段时间网站经常出现链接数据库错误,当然原因很简单,...
本站之前有发表过两篇文章来通过宝塔面板优化服务器性能,《...