Squid 作为反向代理无法传递 IP 地址

Squid 作为反向代理无法传递 IP 地址

我使用 squid 作为反向代理,在一个互联网 IP 上托管多个 Web 服务器。它运行良好,并且在过去几个月里一直如此。我刚刚注意到,发送到我的服务器的每个请求都被记录为来自 squid 服务器 IP 地址。

有没有什么方法可以让 squid 将原始 IP 传递给 Web 服务器?

答案1

Squid 使用 X-Forwarded-For 标头通过反向代理传递客户端 IP。您需要forwarded_for on为 Squid 进行配置,并告诉您的后端服务器记录新的标头。

答案2

我观察到了两件事。

您需要启用forward_for它,如果您iptables MASQUERADE对来自输入接口的入站流量进行规则控制,则可能需要将其删除。

就我而言,我有一个出站规则,它会导致同样的问题,我刚刚删除了那个伪装规则,一切就好了

这是规则。

iptables --table nat --append POSTROUTING --out-interface $ETHERNET_INTERNET -j MASQUERADE

我刚刚删除了上面的伪装规则。

相关内容