前言 

昨天网站突然间挂了 而且出现504 通过监控看出tcp连接增多 查看nginx日志发现德国的ip在爬取公司网站如图。

中国vs日本之 nginx 爬虫配置_第1张图片

nginx代码如下:

进入到nginx安装目录下的conf目录,将如下代码保存为 agent_deny.conf


cd /usr/local/nginx/conf

vim 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|EasouSpider|Ezooms|^$" ) {

     return 403;

}

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

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

    return 403;

}


然后,在网站相关配置中的  location / {  之后插入如下代码:


如李世龙的配置文件 cat /etc/nginx/conf/nginx.conf 


保存后重新启动。 systemctl restart nginx and systemctl reload nginx 。