Apache 2.4 将客户端 IP 保留为 Tomcat 8

Apache 2.4 preserve client IP to Tomcat 8

我们当前的设置是 Win 2008 R2 Std 服务器,Apache 2.2.22 http,Tomcat 8.0

我们使用 Apache 作为反向代理,客户端 IP 地址从 Apache 传递到 Tomcat 使用 Tomcat server.xml:

中的以下代码
<Valve className="org.apache.catalina.valves.RemoteIpValve" internalProxies="127\.0\.0\.1" />

当我们升级到 Apache 2.4.25 时,我们不再传递客户端 IP 地址,我们看到的只是 0:0:0:0:0:0:0:1。

似乎我们已经尝试了 Google 必须提供的一切,包括设置 X-Forwarded-For(在 Apache 和 Tomcat 中),更改 Apache 配置以包含 mod_remoteip 并将 LogFormat 设置为使用 %a 而不是 %h。

任何人都可以建议尝试其他选项或解决客户端 IP 丢失问题的方法。

看起来升级启用了 IPv6,您必须将 IPv6 环回地址 0:0:0:0:0:0:0:1 添加到 internalProxies,例如"127\.0\.0\.1|0:0:0:0:0:0:0:1"

其他用户编辑:将“126”更改为“127”,否则答案无效。因为 Whosebug 需要 "Edits must be at least 6 characters; is there something else to improve in this post?",我不得不附加此编辑原因文本。