互联网知识

精准传达 • 价值共享

洞悉互联网前沿资讯,探寻网站营销规律

查看其它板块

网页使用了https后页面中的http加载不了

作者:狐灵科技 | 2020-02-08 10:30 |点击:

今天遇到了新的需求,我们公司协议为https的,要显示一个http的页面(必须显示这个页面),我刚开始没有关注到这个问题。就一个iframe这不是很简单吗。嵌套进去不就行了。

问题从这里才真正开始
本地完美运行,搞定了。打包上到测试环境。嘣,空白页面。
脑子一片空白
难道是需要动态设置宽高,设置之后没用。
 
百度吧,查找解决办法。
看到这样一个信息
page - iframe - status
 
http - http - allowed
http - https - allowed
https- http - not allowed https嵌套http不支持
https- https - allowed
https - https - insecure scripts - not allowed
https - https - inscure images - allowed but the browser will warn
百度很多文章基本都没有解决方法,说https不能用iframe嵌套http的页面
其中有一个这样的解决方法我并没有尝试
我干脆起一台Apache服务器,配成https的,指定一个子域名,然后利用Apache的代理,将https代理到http的url。(当然,前提条件是你的服务器不是Apache,如果是Apache就简单了)。这里注意,我们另外起的Apache跟我们原来的服务器没有任何关系,Apache只用来处理http这种情况。(之前我有个误区,是在自己的服务器前面套个Apache,也可以实现,但或许会有漏洞,还是并行处理更为科学);
如果有人尝试了这个方法希望告诉我到底可不可以,因为某种原因我不能尝试,不过这种方式应该可以
我们选择了另一种方法。配置nginx代理。将一个https的代理成他们http的就可以了

宝塔nginx代理的教程可以查看这里:宝塔面板Nginx反向代理教程



如果你的网站同时准备了 https 资源和 http 资源,那么,可以使用相对协议可以帮助你实现当网站引入的都是 http 资源,网站域名更换为 https 后的无缝切换。

具体使用方法为:<img src="//domain.com/img/logo.png">

简而言之,就是将URL的协议(http、https)去掉,只保留//及后面的内容。这样,在使用https的网站中,浏览器会通过https请求URL,否则就通过http发送请求。

注:如果是浏览本地文件,浏览器通过file://协议发送请求,导致请求失败,因此本地测试最好是搭建一个本地服务器。


 

如没特殊注明,文章均为狐灵科技原创,转载请注明   "网页使用了https后页面中的http加载不了
多一份免费策划方案,总有益处。

请直接添加技术总监微信联系咨询

网站设计 品牌营销

多一份参考,总有益处

联系狐灵科技,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:15082661954 / 大客户专线:15523356218