Nginx的IP封禁功能可以帮助保护服务器免受恶意攻击。以下通过geo模块实现单个或多个IP封禁:
- 通过geo模块在http块中创建IP封禁策略,示例中IP从remote_addr中获取,如有多层代理,需根据需求取到相应的IP源地址,在此不再累述,如下:
geo $remote_addr $denyflag {
default 0;
192.168.125.133 1;
}
- 使用IP封禁策略: 在server块中使用if条件来应用封禁策略。示例命令:
server {
...
location / {
if ($denyflag = 1) {
return 403;
}
}
...
}
- 封禁效果验证: