我的环境目前看起来像这样(示例地址):
database <-> spring boot app (localhost:8080) <-> web-serwer(nginx) (localhost:8081)
应用程序使用身份验证(jdbc),这就是我的问题。
localhost:8081/admin
)时,会将其重定向到登录站点,然后URL变为localhost:8080/login
(嵌入式tomcat服务器),从那时起每个请求是直接向tomcat。localhost:8081/login
),成功登录后,他再次被重定向到tomcat url(localhost:8080
)。我猜这是关于spring boot身份验证配置。任何想法如何“修复”它,以便基本URL始终是负载均衡器之一?使用AJP(atm简单的重定向)会解决它吗?
答案 0 :(得分:0)
您可以将重定向页面设置为&#34; / login&#34;,而不是在那里指定主机名吗? (我假设您正在做的事情,但您没有提供有关如何从Spring Security配置HttpSecurity
实例的代码。
如果这不起作用 - 而且它可能不会 - 您可能需要配置Spring Security以在其XML配置文件中禁用自动元数据生成。
对于这个问题,Spring Security实际上是一个Github问题,以及如何解决它,一步一步:Github Issue with this question, and its response
TL:DR:从securityContext.xml文件中删除(?)<security:custom-filter before="FIRST" ref="metadataGeneratorFilter"/>
:
我相信如果您这样做,它会将网址重置为仅使用/
,而不是整个主机名,这应该有效。