https的页面内嵌入http页面报错的问题

1、https的页面内嵌入http页面报错

在HTTPS的页面上嵌入http的页面时,浏览器会直接报错。比如在HTTPS页面上用 iframe 直接嵌入一个 http 页面,比如我们可以在百度上直接嵌入我们本地服务器的一些页面,浏览器将会直接报错:

浏览器报错提示:xxxx has been blocked。原因是:浏览器的安全策略,在https的请求里会将http的访问block掉。

 

2、解决方法

协议一样时访问就不会出错。

在 HTTPS 请求里访问 HTTPS 资源不会报错, 所以如果需要内嵌入 HTTPS 的页面同时支持 HTTPS 和 HTTP 两种方式访问的话,只需将 HTTP 请求改为 HTTPS 即可。或者是引用的时候直接把引用资源的URL里的协议头(即https:// 或 htp://)去掉,浏览器会自动根据当前是HTTPS还是HTTP来给资源URL补上协议头的,就可以达到无缝切换。 

 

2.1、临时解决方法

浏览器将你需要访问的 HTTPS 和 HTTP 页面设置为安全。

比如在Chrome浏览器中:设置 - 隐私设置和安全性 - 网站设置 - 不安全问题 - 允许,在允许里面将你的 HTTPS 页面域名和 HTTP 页面的域名都添加进去,请注意,必须两个都添加进去,否则没效果。示例:

设置完之后,在这两个域名之间就可以实现页面互嵌了。

缺点是每个浏览器都必须单独设置,所以只能是临时方案。

参考:https://www.cnblogs.com/nimon-hugo/p/13534838.html

 

posted @ 2020-12-10 15:56  wenxuehai  阅读(8493)  评论(0编辑  收藏  举报
//右下角添加目录