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

博客讲述了在处理HTTPS服务时,Spring MVC框架意外重定向到HTTP的问题。问题源于服务器后台代码中的重定向操作,导致从HTTPS页面到HTTP的不安全重定向。在火狐浏览器中,这种行为被标记为安全警告。作者深入调查,发现可能是Spring MVC底层使用了HttpServletResponse.sendRedirect()未考虑协议安全性。解决方案来自他人提供,涉及对Spring MVC重定向逻辑的调整。博客提醒读者加深对HTTP/HTTPS协议的理解,细致检查请求,避免先入为主的判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


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

是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)先入为主的概念太深,总是由猜测来进行决定,本文中出现的猜测也很多,也有很多没有验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值