这个问题在过去已经以类似的形式被问到,但不是我现在使用的版本,加上我已经尝试了他们都提到的,它似乎不起作用。
我有一个Java 11,Spring 5.3,Sping Boot 2.7.9,Spring Sec 5.7.7 Web应用程序,打包为WAR,部署在Wildfly 15 Web应用程序服务器上,并且还使用Apache httpd。主页是https://reactrax.com,使用ProxyPass和ProxyPassReverse与Wildfly对话。该应用程序让用户使用OAuth2和Google进行身份验证。但是,登录后,页面返回到http://reactrax.com:8080/loginSuccess。请注意,它现在是http而不是https,并且添加了Wildfly端口。
如何让登录页面重定向回https://reactrax.com上的原始预登录页面?
我已经看到了建议的更改包括以下内容,但我还没有能够找到使其工作的神奇组合。
Apache:
- RequestHeader set X-Forwarded-Proto https
- RequestHeader set X-Forwarded-Port 443
- ProxyPreserveHost打开
Spring特性:
- server.use-forward-headers=true(在Sping Boot 2.2中不推荐使用server.forward-headers-strategy)
- server.forward-headers-strategy=native
- server.tomcat.remote-ip-header=x-forwarded-for
- server.tomcat.protocol-header=x-forwarded-proto
Spring Bean :
- ForwardedHeaderFilter
1条答案
按热度按时间stszievb1#
最后我把整个厨房的Flume都扔到了这个问题上,它最终成功了,但我不确定是哪一部分让它成功了。:(