使用https代理的Spring OAuth2登录返回到http

dkqlctbz  于 2023-05-05  发布在  Spring
关注(0)|答案(1)|浏览(204)

这个问题在过去已经以类似的形式被问到,但不是我现在使用的版本,加上我已经尝试了他们都提到的,它似乎不起作用。
我有一个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
stszievb

stszievb1#

最后我把整个厨房的Flume都扔到了这个问题上,它最终成功了,但我不确定是哪一部分让它成功了。:(

相关问题