HAProxy负载均衡后的Nginx反向代理上iptables规则失效问题求助
HAProxy负载均衡后的Nginx反向代理上iptables规则失效问题求助
我们的部署路径是这样的:
- 客户端请求先到达VM1:这是AWS上的实例,运行着HAProxy,负责终止SSL连接,同时配置了ACL规则,会根据请求的域名,把流量通过WireGuard隧道转发到对应的后端节点
- 流量接着传递到VM2:这是本地站点的虚拟机,上面部署了Nginx反向代理,最终将请求转发到多台虚拟机上的业务服务
最近为了提升安全性,我们决定部署fail2ban(简称f2b),但把它装在Nginx反向代理上之后,发现f2b在iptables中添加的规则完全不起作用。更奇怪的是,不管是谁、以什么方式在iptables链中添加的任何基于IP的规则,都没有任何效果。
我观察到一个现象:Nginx的访问日志里能正确显示客户端的真实IP,但ufw日志里显示的却是Nginx代理所在VM的IP?我现在在学习相关知识,猜测这可能是因为iptables这类防火墙工作在TCP层,而传递客户端真实IP的是HTTP头信息,这不在TCP层的处理范围内。是不是说Nginx是通过读取HTTP头来获取客户端IP,而ufw是直接查看TCP数据包的源IP呢?
...firewalls like iptables work at the tcp layer. To look at the x-forwarded-for http header...
备注:内容来源于stack exchange,提问作者Sidewyz
相关产品推荐
相关产品推荐

