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();
}