宝塔面板现在很多小白用户使用的非常多,功能比较简单易用,但是其中防御功能较弱,内置的WAF并不能实现服务器级别的防火墙封IP,所以我们只能借用一下其中的功能,加上LINUX系统天然自带的SHELL+IPTABLES防火墙来封禁IP
宝塔安装的NGINX按下面配置
软件管理-Nginx管理-配置修改
将
error_log /www/wwwlogs/nginx_error.log crit;
改成
error_log /www/wwwlogs/nginx_error.log error;
然后到需要开启防御的网站管理 点 设置-流量限制
这里启用流量限制,并将单IP并发数进行限制,一般如果网站页面不复杂设置为10就行。如果网页有很多调用CSS,JS之类的,自行计算一下
这样重启 NGINX 后当有客户端频繁刷新你的网页,发起的请求将在超过设置的每秒钟允许数量后被禁止访问,同时将在 NGINX error.log(默认在 /www/wwwroot/nginx_error.log) 中看到类似记录:
2018/04/27 14:25:27 [error] 6307#0: *1472746 limiting connections by zone "perip", client: 182.161.35.139, server: 104.153.102.68, request: "GET /index.php?10=8 HTTP/1.1"