nginx中可通过写入配置文件的方法来达到一定的过滤IP作用,可使用deny来写。
deny的使用方法可用于前端服务器无防护设备的时候过滤一些异常IP,过滤的client ip会被禁止再次访问,起到一定的阻断作用。
但是,在现在这个网络环境非常负载的情况,实际阻断的IP可能都是一些代理模拟出来的,所以遇到大范围异常攻击的时候还是选用前端的防护设备如FW、DDOS等才可进行防护。
1.首先,找到前端nginx代理服务器目录/server/nginx/conf,在该目录新增一个如blocksip.conf文件,并写入内容:
cd /server/nginx/conf
vim blocksip.conf
deny 192.168.1.1; #过滤单个IP
deny 192.168.1.0/24; #过滤整个地址段
deny all; #过滤所有IP
allow 192.168.1.1; #与deny all;组合是指除192.168.1.1外其他都过滤
2.wq保存退出,进入nginx.conf文件将该配置加入http{}标签末尾:
http{
include blocksip.conf;
}
重载nginx配置/server/nginx/sbin/nginx -s reload。
3.使用deny过的IP访问nginx代理的应用服务,可在error.log中查看到如下forbidden日志,说明过滤成功: