解决在HTTPS页⾯⾥嵌套HTTP页⾯浏览器block的问题
问题描述:
浏览器默认是不允许在HTTPS⾥⾯引⽤HTTP页⾯的,ie下⾯会弹出提⽰框提⽰是否显⽰不安全的内容,⼀般都会弹出提⽰框,⽤户确认后才会继续加载,但是chrome下⾯直接被block掉,只在控制台打出信息。
在写⽹站的时候,⾃⼰的⽹站要嵌⼊别的⽹站,⽤iframe嵌⼊部分内容,当我把⽹站升级成https后,发现⽤iframe嵌http页⾯内容显⽰不出来,chrome控制台打出不安全的信息。
解决思路:
⾕歌上不去不知道有没有更好的解决办法,反正百度⾥没到。⼤致说下思路,https⾥嵌不了http页⾯,那就嵌https页⾯好了,但是别⼈⽹站是http的,很多时候你是没办法要求别⼈的⽹站要做成https来配合你的,那么,我⼲脆起⼀台Apache服务器,配成https的,指定⼀个⼦域名,然后利⽤Apache的代理,将https代理到http的url。(当然,前提条件是你的服务器不是Apache,如果是Apache就简单了)。这⾥注意,我们另外起的Apache跟我们原来的服务器没有任何关系,Apache只⽤来处理http这种情况。(之前我有个误区,是在⾃⼰的服务器前⾯套个Apache,也可以实现,但或许会有漏洞,还是并⾏处理更为科学);
具体做法:
1,先装Apache服务,dos命令bin⽬录下,如果出现拒绝访问的情况,windows附件⾥命令提⽰符右键管理员⾝份运⾏,win7下或许会出现这样的问题。 –k install,安装成功会提⽰成功。然后 开启服务,开不了原因,试试在服务⾥去开,win+R services.msc 这⾥要注意,这个版本的Apache默认加载ssl模块,默认端⼝是443,如果端⼝被占⽤了,要改端⼝。查看端⼝是否被占⽤,这⾥提供⼏个dos命netstat -ano;b.查看指定端⼝的占⽤情况netstat -aon|findstr "443"
netstat -aon|findstr "443"到PID⽐如2016;;c.到对应的程令:a.查看所有的端⼝占⽤情况netstat -ano
tasklist|findstr "2016"。改Apache https端⼝:config/f,要改的地⽅很简单,到443,这⾥我改成445,我
这⾥我改成445,我序tasklist|findstr "2016"。
们主⽹站⽤的443,改成你的端⼝,改完配置别忘了重启。
们主⽹站⽤的443
1
截图太多貌似发布不了,点开证书信息应该是说颁发给Apache Haus什么的),好这⾥开始配证书,f,打开,最下⾯
2iframe嵌套页面加载慢
就是这个地⽅,狠坑了我⼀把,也是参照⽹上配的,但是不管怎么配证书就是不对,后来猜想这⾥可能有问题,果然猫腻在这⾥。这⾥改f 这个配置,我是在这个⾥⾯配的。现在到conf/extra下⾯,你可以看到f,核⼼的配置在这⾥
成f
3
改成445)
(是不是要监听443端⼝,改成445)
4
改成445
同上改成445
5
证书和私钥,这⾥改成你⾃⼰的就可以了,记住要放在ssl⽂件夹⾥。
3,重启Apache,开启服务就应该有这个,右下⾓,没有在bin⽬录下打开
5,没什么问题这样就解决了https嵌http不安全的问题。实际上,我们这⾥端⼝并不⼀样,还是属于跨
域,但是问题的初衷是https⾥⾯不能嵌套http,所以,如果https⾥⾯嵌套的https页⾯跨域了,也是没有问题的。
总结:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论