Spring MVC веб-приложение после проблемы перенаправления zuul

У меня есть набор Spring Boot (1.3.3) с микросервисами Spring Cloud (Brixton.RC2), работающими за Zuul, и у меня возникают проблемы с перезаписью моих URL в перенаправлениях.

Моя главная проблема заключается в том, что мое веб-приложение отстает от zuul и, по-видимому, не знает о хосте во время перенаправлений, хотя я должен был установить все необходимые свойства.

Когда я иду вhttp://test.example.com/ Я ожидаю, что будет перенаправлен наhttp://test.example.com/login но я перенаправлен наHttp: // machinehostname / Логин... Если я пойду прямо кhttp://test.example.com/login Я могу увидеть свою форму входа и войти, но затем перенаправлен наHttp: // machinehostname / но если я вручную пойду кhttp://test.example.com/ Я могу снова правильно использовать свое приложение с исключением перенаправлений, например, после POST в форме.

Вот некоторые свойства моего веб-приложения:

server.use-forward-headers = true
server.tomcat.protocol-header = X-Forwarded-Proto
server.tomcat.remote-ip-header = X-Forwarded-For

Вот мои свойства zuul:

#Server
server.port = 80
server.use-forward-headers = true 

#Zuul
zuul.add-proxy-headers = true
zuul.ignored-services = "*"

zuul.routes.api.service-id = api
zuul.routes.api.path = /api/**
zuul.routes.api.strip-prefix = true

zuul.routes.web.service-id = web
zuul.routes.web.path = /**

Моя настройка безопасности в веб-приложении:

@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {
    //@formatter:off
    httpSecurity
        .formLogin()
            .successHandler(new SavedRequestAwareAuthenticationSuccessHandler())
            .loginPage("/login")    
                .permitAll()
            .failureUrl("/login-error")
            .defaultSuccessUrl("/")
            .and()
        .logout()
            .logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
                .logoutSuccessUrl("/logged-out")
                    .permitAll()
            .and()
            .anyRequest()
                .authenticated();
    //@formatter:on
}

Опять же, все URL-адреса правильно используют имя сервераесли это не перенаправление, Есть идеи, как это исправить?

Большое спасибо !

Ответы на вопрос(0)

Ваш ответ на вопрос