HTTP
HTTP 严格传输安全
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,或在响应式堆栈中使用 ForwardedHeaderTransformer。
Spring Boot 用户可以使用 server.forward-headers-strategy 属性来配置应用程序。
有关更多详细信息,请参阅Spring Boot 文档。