18. 重定向到 HTTPS
需要 HTTPS 才能提供安全的应用程序。可以使用以下 Java 配置将 Spring Security 配置为执行重定向到 https 的操作:
@Bean
SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
http
// ...
.redirectToHttps();
return http.build();
}
可以轻松地将配置包装在 if 语句周围,仅在生产环境中将其打开。或者,可以通过查找仅在 Producing 发生的有关请求的属性来启用它。例如,如果生产环境添加了名为X-Forwarded-Proto
的 Headers,则可以使用以下 Java 配置:
@Bean
SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
http
// ...
.redirectToHttps()
.httpsRedirectWhen(e -> e.getRequest().getHeaders().containsKey("X-Forwarded-Proto"));
return http.build();
}