nginx性能优化:屏蔽禁止Scrapy等垃圾蜘蛛方法
  balacoding 2023年11月16日 21 0

国外的各种蜘蛛、机器人不停的抓取我们的网站,国外的很多收录其实对于我们来讲没啥用,所以我们可以选择将其屏蔽。

新建agent_deny.conf文件:找到文件目录/www/server/nginx/conf文件夹下面,新建一个文件agent_deny.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 ( r e q u e s t m e t h o d !   ( G E T H E A D P O S T ) request_method !~ ^(GET|HEAD|POST) ) {
return 403;
}

打开网站设置–配置文件:在root…后加入include agent_deny.conf;

include agent_deny.conf;

nginx性能优化:屏蔽禁止Scrapy等垃圾蜘蛛方法
image.png

重启nginx

注意事项,有许多人可能和我一样用的宝塔计划任务进行发布,以上代码会将宝塔计划任务的URL触发给拒绝了,这是为什么呢?首先我们从日志当中看一下宝塔计划任务URL触发的访问记录文章源自

124.220.170.95 - - [14/Oct/2022:23:07:57 +0800] "GET /api/publishcontent HTTP/2.0" 200 78 "-" "curl/7.61.1"
我们可以看出来宝塔的头部为“curl/7.61.1”所以我们需要将“禁止Scrapy等工具的抓取”中的curl给删掉,或者将整段给注释掉

#禁止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 ( r e q u e s t m e t h o d !   ( G E T H E A D P O S T ) request_method !~ ^(GET|HEAD|POST) ) {
#return 403;
#}

#禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|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 ( r e q u e s t m e t h o d !   ( G E T H E A D P O S T ) request_method !~ ^(GET|HEAD|POST) ) {
return 403;
}

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月16日 0

暂无评论

推荐阅读
balacoding