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?",我不得不附加此编辑原因文本。
我们当前的设置是 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?",我不得不附加此编辑原因文本。