HTTP
Strict Transport Security
Spring Security 支持 Strict Transport Security 并默认启用它。
代理服务器配置
使用代理服务器时,务必确保应用程序配置正确。例如,许多应用程序都有一个负载均衡器,它响应 https://example.com/ 的请求,并将请求转发到位于 https://192.168.0.107 的应用服务器。如果没有正确配置,应用服务器将不知道负载均衡器的存在,并会将请求视为客户端请求了 https://192.168.0.107:8080。
要解决此问题,您可以使用 RFC 7239 指定正在使用负载均衡器。为了让应用程序感知到这一点,您需要配置应用服务器以识别 X-Forwarded 头。例如,Tomcat 使用 RemoteIpValve
,而 Jetty 使用 ForwardedRequestCustomizer
。此外,Spring 用户可以在 Servlet 栈中使用 ForwardedHeaderFilter
,或在 Reactive 栈中使用 ForwardedHeaderTransformer
。
Spring Boot 用户可以使用 server.forward-headers-strategy
属性来配置应用程序。有关更多详细信息,请参阅 Spring Boot 文档。