我正在使用 Linode NodeBalancers 为我的 2 个 tomcat 服务器负载均衡器(服务 https 请求),我们的业务需求之一是能够捕获 ClientIP 以进行指纹识别+其他目的。
但是,我似乎无法让 NodeBalancers 通过 x-forwarded-for 传递客户端 IP,Linode 支持也不知道如何在 Tomcat 配置上这样做?
这是我的 Tomcat 配置 (server.xml) 的一部分
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="myKeyStore"
keystorePass="myKeyStorePassword"
compression="on"
compressableMimeType="text/html,text/xml,text/css,text/javascript"
compressionMinSize="1024"
maxPostSize="5097152"
clientAuth="false" sslProtocol="TLS" />
<Valve className="org.apache.catalina.valves.RemoteIpValve"
remoteIpHeader="x-forwarded-for"
protocolHeader="x-forwarded-proto"
protocolHeaderHttpsValue="https"
/>