对于最新的稳定版本,请使用 Spring Security 6.3.1Spring中文文档

对于最新的稳定版本,请使用 Spring Security 6.3.1Spring中文文档

所有基于 HTTP 的通信(包括静态资源)都应使用 TLS 进行保护。Spring中文文档

作为一个框架,Spring Security 不处理 HTTP 连接,因此不直接提供对 HTTPS 的支持。 但是,它确实提供了许多有助于使用 HTTPS 的功能。Spring中文文档

重定向至HTTPS

当客户端使用 HTTP 时,您可以将 Spring Security 配置为在 ServletWebFlux 环境中重定向到 HTTPS。Spring中文文档

严格的运输安全

Spring Security 提供对严格传输安全性的支持,并在默认情况下启用它。Spring中文文档

代理服务器配置

使用代理服务器时,请务必确保正确配置应用程序。 例如,许多应用程序都有一个负载平衡器,它通过将请求转发到位于 192.168.1:8080 的应用程序服务器来响应 example.com/ 请求,如果没有正确的配置,应用程序服务器无法知道负载平衡器存在,并将请求视为客户端请求了 192.168.1:8080Spring中文文档

若要解决此问题,可以使用 RFC 7239 指定正在使用负载均衡器。 要使应用程序意识到这一点,您需要将应用程序服务器配置为知道 X-Forwarded 标头。 例如,Tomcat 使用 RemoteIpValve,Jetty 使用 ForwardedRequestCustomizer。 或者,Spring 用户可以使用 ForwardedHeaderFilterSpring中文文档

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