跳到主要内容
版本:7.0.2

HTTP

DeepSeek V3 中英对照 HTTP Requests HTTP

所有基于 HTTP 的通信都应通过 使用 TLS 进行保护。

本节将详细介绍如何使用WebFlux特有的功能来辅助HTTPS的使用。

重定向到HTTPS

如果客户端使用HTTP而非HTTPS发起请求,你可以配置Spring Security将其重定向至HTTPS。

以下Java配置将所有HTTP请求重定向至HTTPS:

@Bean
SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
http
// ...
.redirectToHttps(withDefaults());
return http.build();
}

你可以将配置包装在 if 语句中,使其仅在生产环境中启用。或者,你也可以通过检查仅在生产环境中出现的请求属性来启用它。例如,如果生产环境添加了一个名为 X-Forwarded-Proto 的请求头,你应该使用以下 Java 配置:

@Bean
SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
http
// ...
.redirectToHttps((redirect) -> redirect
.httpsRedirectWhen((e) -> e.getRequest().getHeaders().containsKey("X-Forwarded-Proto"))
);
return http.build();
}

严格传输安全

Spring Security 为严格传输安全提供支持,并默认启用该功能。

代理服务器配置

Spring Security 与代理服务器集成