Spring登录表单从https切换为http

我们有一个 Spring boot 应用程序,在服务器上部署了 Spring security。我们使用 https,但是当重定向到 Spring 默认登录表单时,会使用 http 调用重定向,这会导致 503 服务不可用。我不明白为什么Spring要切换通信协议,有没有办法阻止它?


我们的配置


protected void configure(HttpSecurity http) throws Exception {

    http

        .authorizeRequests()

            .antMatchers("/", "/home", "/status", "/actuator").permitAll()

            .anyRequest().authenticated()

            .and()

        .formLogin()

            .permitAll()

            .and()

        .logout()

            .permitAll()

            .and()

        .csrf()

            .disable();

}

要重定向的页面:

https://img1.sycdn.imooc.com/6528f0bb0001a8a705950363.jpg

https://img1.sycdn.imooc.com/6528f0c50001a79d06560169.jpg

登录 :

https://img1.sycdn.imooc.com/6528f0d400015a1808490490.jpg

富国沪深
浏览 104回答 2
2回答

繁华开满天机

这是一个代理问题,我只需在我的 application.properties 中添加以下行server.tomcat.remote-ip-header=x-forwarded-for server.tomcat.protocol-header=x-forwarded-proto

呼啦一阵风

尝试显式启用HSTS:protected void configure(HttpSecurity http) throws Exception {    http        .headers()            .hsts()        .authorizeRequests()            .antMatchers("/", "/home", "/status", "/actuator").permitAll()            .anyRequest().authenticated()            .and()        .formLogin()            .permitAll()            .and()        .logout()            .permitAll()            .and()        .csrf()            .disable();}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java