RemoteIpValve没有做它的工作

我有几个Tomcat服务器,在NetScaler负载均衡器后面,它负责SSL卸载。 我已经将以下行添加到所有的server.xml中:

<Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="x-forwarded-for" protocolHeader="x-forwarded-proto" /> 

这在除了2(相同)服务器之外的所有工作。 我试图让它在这两个工作。

我嗅探了stream量,它包含x-forwarded-proto头,值为https ,因为它应该是。 request.getHeader("x-forwarded-proto")的返回结果是https 。 但是, request.getScheme()返回httprequest.isSecure()返回false

我怎样才能得到remoteIpValve工作?

谢谢。

负载均衡器的远程IP是什么?

连接设备(本例中为负载均衡器)的IP地址必须位于internalProxiesconfiguration中,否则不会应用到远程地址,scheme,端口和请求安全性的转换。

默认情况下,允许本地主机和大部分RFC1918范围(172.16 / 12除外)。 如果连接到tomcat服务器的代理IP不在这些范围之一,则需要configurationinternalProxies设置以允许您的负载均衡器。