4
回答
shiro+cas+https最后一步https变成了http
滴滴云服务器,限时包月0.9元,为开发者而生>>>   

工程使用了 springMVC+shiro+cas+https,其中https是把证书装在阿里云的SLB上,tomcat上是没有开https的,是SLB的433端口转到tomcat的80端口
现在遇到一个问题,浏览器在另一个系统完成登录后,然后访问本工程的url(https://a.com/a.jsp)会发生如下重定向过程:
https://a.com/a.jsp

https://cas.com/login?service=https://a.com/shiro-cas

https://a.com/shiro-cas?ticket=ST-1210136-go2jmLtJCRfhHYXXXXXXX

http://a.com/a.jsp (到这一步时,https成http)
想问一下,最后一步为什么走到了http上了,尝试过在shiro配置文件中给a.jsp增加 SslFilter,结果出现了循环重定向,该如何解决,谢谢

举报
lindent
发帖于10个月前 4回/428阅

引用来自“开源中国首席公关”的评论

step3->step4是内部跳转的,你tomcat是http的,这个结果很意外吗?

SLB(nginx)中加了 X-Forwarded-Proto ,值设置成 https,tomcat 中也加了 

<Valve className="org.apache.catalina.valves.RemoteIpValve" protocolHeader="X-Forwarded-Proto" />

正常是可以跳转到 https 的。现在发现shiro在单点登录验证完成后,会取出验证前的SavedRequest进行重定向
是在 SavedRequest 中没有保存相应的 schema,就转发到 http 的请求上了

请问下这个问题解决了么??我也遇到https访问,然后登陆成功后会跳转到http的情况啦,,头疼啦,,求哪位大神指点啦啦啦啦。。。。

顶部