[Nginx] 封禁SM-G900P恶意爬虫避免浪费服务器资源
蓝点网早上检查网站访问日志时发现大量异常请求,发出请求的UA是:
Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Mobile Safari/537.36
这个爬虫高并发持续发出请求,夜里也在继续爬,稍微查了下这个恶意爬虫在网上很早就有人发现了,目前还查不出来这是哪家搜索引擎的爬虫,爬虫里也没有注明所属搜索引擎。
既然如此那不如直接封禁一了百了,常规封禁方法就是Nginx直接返回403,但返回403仍然消耗服务器资源,不如直接返回444。
返回444意味着Nginx会直接关闭和丢弃这个请求,相对来说更省事儿。
#封禁恶意爬虫 server { listen 80; listen 443 ssl http2; server_name www.landiannews.com landiannews.com; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/www.landiannews.com; ... #禁止恶意UA start if ($http_user_agent ~ "SM-G900P|^$"){ return 444; } #禁止恶意UA end ... }
将上面的封禁代码粘贴到网站配置文件的server里即可,保存配置文件后重启Nginx使之生效。
可能会有站长疑虑直接封禁SM-G900P这个设备是否会影响用户正常访问,SM-G900P是Samsung Galaxy S5,还是2014年的手机,现在还在使用S5的用户估计四舍五入约等于0,所以封禁不会产生多少影响。