如何通过Nginx禁止垃圾爬虫,防止浪费服务器资源?

Nginx禁止垃圾爬虫是非常有必要的,一个事为了防止网站被采集,另一个是防止垃圾爬虫浪费服务器资源。

如何通过Nginx禁止垃圾爬虫,防止浪费服务器资源? - 第1张图片 筑梦IT

当然对于宝塔面板免费Nginx防火墙或者收费nginx防火墙不满意,可以通过以下代码来操作。
将以下代码粘贴到宝塔站点的配置文件中,即可完成。

server {
  listen 80 default_server;
  listen [::]:80 default_server;
  index index.html index.htm index.nginx-debian.html;
  server_name 规则名称;
  location / {
    try_files $uri $uri/ =404;
  }
  #forbidden Scrapy
  if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
    return 403;
  }
  #forbidden UA
  if ($http_user_agent ~ "DotBot|crawler|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|DataForSeoBot|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|python-requests|lightDeckReports Bot|YYSpider|DigExt|SemrushBot|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" ) {
    return 403;
  }
  #forbidden not GET|HEAD|POST method access
  if ($request_method !~ ^(GET|HEAD|POST)$) {
    return 403;
  }
}
媒体库专用-秒传-123或115这个内容需要赞助后可见