优化nginx性能:如何拦截Scrapy之类的垃圾蜘蛛
各种国外蜘蛛和机器人一直在爬行我们的网站。很多国外的收藏其实对我们来说没有什么用处,所以我们可以屏蔽它们。
新建文件agent_deny.conf:找到文件目录/www/server/nginx/conf,新建文件 重启nginx 注意,有很多人和我一样可以使用宝塔的定时发布作业。上面的代码会导致宝塔计划任务URL触发器被拒绝。这是为什么?首先我们从日志中查看宝塔调度任务的URL触发的访问记录 我们看到宝塔头是“curl/7.61.1”,所以我们需要将curl改为“Disallowcrawlingby”像Scrapy这样的工具”删除它或注释掉整个段落 或agent_deny.confyf_agent 打开web设置--配置文件:添加include agent_deny.conf for root...;include agent_deny.conf;![]()
124.220.170.95 - - [14/Oct/2022:23:07:57 +0800] "GET /api/publishcontent HTTP/2.0" 200 78 "-" "curl/7.61.1"#禁止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;
#}#禁止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 ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网