https服务,但是Spring MVC总是重定向到http,怎么才能使其重定向到https上

1 篇文章 0 订阅
1 篇文章 0 订阅

昨天有人向我问一个问题,页面在谷歌浏览器上可以正常进行修改操作,但在火狐浏览器上会产生报错,浏览器报错信息是这样的 


已阻止载入混合活动内容。

是https页面发送了http请求,然后被浏览器认为危险之后拒绝了,我本身对https和http了解不多,以为是浏览器段出现错误,也是一脸懵,搞不清楚,后来他吧页面发送给我,调试发现第二个报错信息的请求方式是302,并且在请求的时候被重定向过,第一次没有仔细检查,先入为主的以后是浏览器段访问不到https资源,然后自动 重定向到了http://访问,搜索许久,无果,然后无意中发现请求已经失效,内容已经被修改了,转回重新查看请求 发现 302 的location和请求地址并不是同一个,知道自己想错了,应该是服务器后台原因,遂向其询问后台代码 , 发现在后台最后对请求进行了重定向,然后返回浏览器的时候因为iframe父页面是https,而重定向的请求是http,才发生的安全警告。



问题已经定位到了,解决又开始头疼,因为对请求最后为什么会发出http重定向表示不解,打算使用response.sendRedirect 进行转发。

在搜索中想尝试使用




进行解决,但是无奈对方服务器使用的并非nginx ,而是阿里云服务器,对阿里云账号也没有权限进行操作,所有假如有试验过的可以留一下言,感激不尽。



最后问题的解决并非是由我解决的,而是由朋友公司先前的程序员提供的 



我猜测原因在于springmvc底层使用的是 httpservletresponse.sendredirect,并没有使用response.isSecure进行保护,所以导致最后发送的请求重定向的协议是http:// 

到谷歌搜索后  有其他程序猿也提过相同的问题,中间有提供了具体的解决方法和思路,但是本人英文较差并且http协议了解的实在太少,无法进行准确的翻译,链接如下

http://stackoverflow.com/questions/3401113/spring-mvc-redirect-prefix-always-redirects-to-http-how-do-i-make-it-stay

有出现问题的朋友可以自行去查阅。



问题总结:

1)对于协议的了解太少,对于http 1.0 2.0 https只是了解皮毛,甚至连皮毛都没有了解到。

2)对于请求的查看太粗略,如果当时发现重定向的来源和目标不同的话,后面就可以不用浪费的1个多小时了。

3)先入为主的概念太深,总是由猜测来进行决定,本文中出现的猜测也很多,也有很多没有验证。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值