此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Security 6.5.3spring-doc.cadn.net.cn

HTTP

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

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

重定向到 HTTPS

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

严格的运输安全

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

代理服务器配置

使用代理服务器时,确保正确配置应用程序非常重要。 例如,许多应用程序都有一个负载均衡器,用于响应https://example.com/通过将请求转发到位于https://192.168.0.107如果没有适当的配置,应用程序服务器将无法知道负载均衡器的存在,并将请求视为好像https://192.168.0.107:8080是客户要求的。spring-doc.cadn.net.cn

要解决此问题,您可以使用 RFC 7239 指定正在使用负载均衡器。 要使应用程序意识到这一点,您需要将应用程序服务器配置为了解 X-Forwarded 标头。 例如,Tomcat 使用RemoteIpValve和Jetty用途ForwardedRequestCustomizer. 或者,Spring 用户可以使用ForwardedHeaderFilter使用 Servlet 堆栈或ForwardedHeaderTransformer与 Reactive 堆栈。spring-doc.cadn.net.cn

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