网站昨天就被刷了,量小在云平台的slb直接对IP进行封禁了。现在一定是改换了ip
本日早上的截图。
kibana显示的要求量

接着看大盘IP统计,显示117开头的IP,要求了5万多次。
kibana显示的IP统计次数
那就赶紧封禁掉此IP吧,果断到云平台的SLB掌握台对其加入了黑名单。
Nginx判断其User-Agent,对其限定创造这次被刷,采取了相同的User-Agent。
虽然和昨天的IP不一样,但ua是同等的,于是 我就想该当通过ua对其进行封禁。
网上找到了如下代码
#user_agent设置 if ($http_user_agent ~ 'curl|baidu|1111') { return 403; }
由于域名较多,第一步考虑该当添加到http段落里面,但得到了如下缺点
nginx: [emerg] "if" directive is not allowed here in /usr/local/nginx/conf/nginx.conf:57
只好添加到Server段中
然后重启
用Postman测试,果真好使。
两个问题
1、域名较多,须要在每个域名配置文件中添加,不能添加到Http段落
2、虽然可以防止了这个User-Agent的恶意要求,但如果对方改换了User-Agent,还是没办法。
不知道大家是如何防止大量恶意要求的。