我们在负载均衡器中注入x-forwarded-for头,该请求将请求发送到apache web服务器,该请求将inthe proxys(mod_proxy_balancer)请求发送到后端tomcat服务器。 我们在apache的“x-forwarded-for”标题中看到了客户端IP,但是我们在Tomcat访问日志中获得了“ – ”。
我们在Tomcat的internalProxies列表中添加了loadbalancer IP。
从https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/valves/RemoteIpValve.html它看起来像安全连接(请求来自内部代理)的x转发为变成NULL和客户端IP分配给远程地址。 那是对的吗? 在使用内部代理服务器设置时,有没有办法在tomcat中将客户端IP保留在x-forwarded-for标头中?
谢谢
AJP在我们的Web服务器和Tomcat服务器之间被使用。 更新:我发现这个答案在Tomcat的文档, https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/valves/RemoteIpValve.html ,这是我认为正在发生。 特别:
如果传入的request.getRemoteAddr()匹配阀门的内部代理列表: