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-адреса правильно используют имя сервераесли это не перенаправление, Есть идеи, как это исправить?
Большое спасибо !