代理服务器配置
在使用代理服务器时,确保正确配置应用程序至关重要。例如,许多应用程序会配置负载均衡器,当接收到对 example.com/ 的请求时,它会将请求转发到位于 192.168.1:8080 的应用服务器。如果配置不当,应用服务器将无法感知负载均衡器的存在,并会认为客户端直接请求的是 192.168.1:8080。
要解决这个问题,你可以使用 RFC 7239 来指定正在使用负载均衡器。为了让应用程序感知到这一点,你需要配置你的应用服务器以识别 X-Forwarded 头部信息。例如,Tomcat 使用 RemoteIpValve,而 Jetty 使用 ForwardedRequestCustomizer。另外,Spring 4.3+ 的用户可以利用 ForwardedHeaderFilter。
Spring Boot 用户可通过 server.use-forward-headers 属性配置应用程序。更多细节请参阅 Spring Boot 官方文档。