Proxy Server Configuration

在使用代理服务器时,确保已正确配置应用程序非常重要。例如,许多应用程序将有一个负载均衡器,该负载均衡器通过将请求转发到 [role="bare"][role="bare"]https://example.com/ 处的应用程序服务器来响应对 [role="bare"][role="bare"]https://192.168.1:8080 的请求。如果没有正确的配置,应用程序服务器将不知道负载均衡器存在,并将把请求视为 [role="bare"][role="bare"]https://192.168.1:8080 是由客户端请求的。

要解决此问题,可以使用 RFC 7239 来指定正在使用负载均衡器。为了让应用程序意识到这一点,你需要配置应用程序服务器,使其了解 X-Forwarded 头。例如,Tomcat 使用 RemoteIpValve,Jetty 使用 ForwardedRequestCustomizer。此外,Spring 4.3+ 用户可以利用 ForwardedHeaderFilter

Spring Boot 用户可以使用 server.use-forward-headers 属性来配置应用程序。有关详细信息,请参阅 Spring Boot documentation