nginx 前置设置 WAF 后 ip 限制出现的问题解决

 

引言

添加 WAF 后 NGINX 的 IP 访问限制可能不生效,通常是因为 WAF 修改了请求头或代理了请求,导致 NGINX 无法正确识别客户端真实 IP。以下是排查和解决的思路:

1. 确认是否启用了代理模式

如果 WAF 运行在代理模式下,客户端请求经过 WAF,再转发到 NGINX,这样 remote_addr 可能变为 WAF 的 IP 地址。

解决方案:
在 NGINX 配置中添加 real_ip_header 和信任的 WAF IP 段,例如:

http {
    set_real_ip_from 192.168.0.0/16;  # WAF IP 地址段
    set_real_ip_from 10.0.0.0/8;
    set_real_ip_from 127.0.0.1;
    real_ip_header X-Forwarded-For;
    real_ip_recursive on;
}

2. 检查 WAF 是否传递了正确的请求头

确认 WAF 是否将 X-Forwarded-ForX-Real-IP 正确传递到后端 NGINX。

3. 验证 IP 限制规则

确认 NGINX 的 IP 限制配置是否仍然有效。例如:

location / {
    deny 192.168.1.100;
    allow 10.0.0.0/8;
    deny all;
}

4. 使用日志调试

开启 NGINX 日志,查看 remote_addrX-Forwarded-For 是否符合预期。

log_format custom_format '$remote_addr - $http_x_forwarded_for';
access_log /var/log/nginx/access.log custom_format;

5. 检查模块冲突

某些 WAF 插件可能会影响 NGINX 的 IP 过滤模块,例如 Lua WAF。可以尝试调整 WAF 插件的执行顺序。

如果需要更详细的帮助,请提供 NGINX 和 WAF 的配置,我可以协助优化配置。

posted on   正义的伙伴!  阅读(22)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
//增加一段JS脚本,为目录生成使用
点击右上角即可分享
微信分享提示