我有几个 Tomcat 服务器,在 NetScaler 负载平衡器后面,它执行 SSL 卸载。我已将以下行添加到所有服务器的 server.xml 中:
<Valve className="org.apache.catalina.valves.RemoteIpValve"
remoteIpHeader="x-forwarded-for" protocolHeader="x-forwarded-proto" />
Run Code Online (Sandbox Code Playgroud)
这适用于除 2 个(相同)服务器之外的所有服务器。我正在努力让它在这两个上工作。
我已经嗅探了流量,它包含x-forwarded-proto标头,其值为https,应该是。的返回结果request.getHeader("x-forwarded-proto")是https。然而,request.getScheme()返回http并request.isSecure()返回false。
我怎样才能让 remoteIpValve 工作?
谢谢。