Spring форма входа в систему с https на http - PullRequest
1 голос
/ 10 октября 2019

У нас есть загрузочное приложение Spring с развертыванием 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();
}

страница для перенаправления: enter image description here

enter image description here

логин: enter image description here

Ответы [ 2 ]

1 голос
/ 11 октября 2019

Я нашел решение там https://docs.spring.io/spring-boot/docs/current/reference/html/howto-security.html#howto-enable-https

Это была проблема с прокси, мне просто нужно было добавить следующую строку в моем application.properties

server.tomcat.remote-ip-header=x-forwarded-for
server.tomcat.protocol-header=x-forwarded-proto
1 голос
/ 10 октября 2019

Попробуйте явно включить 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...