对于最新的稳定版本,请使用 Spring Security 6.3.3spring-doc.cn

对于最新的稳定版本,请使用 Spring Security 6.3.3spring-doc.cn

所有基于 HTTP 的通信(包括静态资源)都应使用 TLS 进行保护。spring-doc.cn

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

重定向到 HTTPS

当客户端使用 HTTP 时,可以将 Spring Security 配置为重定向到 ServletWebFlux 环境的 HTTPS。spring-doc.cn

严格的运输安全

Spring Security 提供对严格传输安全性的支持,并默认启用它。spring-doc.cn

代理服务器配置

使用代理服务器时,请务必确保已正确配置应用程序。 例如,许多应用程序将具有负载均衡器,该负载均衡器通过将请求转发到位于 192.168.1:8080 的应用程序服务器来响应 example.com/ 请求。 如果没有正确的配置,应用程序服务器将不知道负载均衡器的存在,并将请求视为客户端请求的 192.168.1:8080spring-doc.cn

要解决此问题,您可以使用 RFC 7239 指定正在使用负载均衡器。 要使应用程序知道这一点,您需要配置应用程序服务器识别 X-Forwarded 标头。 例如,Tomcat 使用 RemoteIpValve,而 Jetty 使用 ForwardedRequestCustomizer。 或者,Spring 用户可以利用ForwardedHeaderFilterspring-doc.cn

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