Mixed Content混合内容错误 Iframe Http页面无法访问

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rth362147773/article/details/78808481

问题描述

今天在做一个https站点的时候,需要用iframe打开一个http页面。但发现在手机上和chrome上就是无法打开,显示Mixed Content(混合内容)。因为https协议站点,读取的资源文件js css png,包括请求post和get,还有iframe的页面,都必须是https协议的。所以就会报出下面的错误,其实是浏览器为了HTTPS网站不会受到不安全的HTTP资源的攻击的出现错误。其他浏览器下会有个提示用户点击确认就可以访问了。但chrome和手机浏览器上就不会,白屏一个,资源,请求,iframe都直接block掉。

下面是chrome报错的内容:

Mixed Content: The page at ’ was loaded over HTTPS, but requested an insecure resource ‘http://test.webpay.bluepay.tech/bluepay/index.php‘. This request has been blocked; the content must be served over HTTPS.

这里写图片描述

解决办法

提供有用的解决办法(最优1,其次2,向下排)
1.把iframe中的http升级成https。
2.https站点降级http,就能访问iframe http。
3.通过nigix做映射,页面写访问https,但nigix接收后转成http发送出去。

结论

别想什么其他解决办法,最好就都升级https,提升站点安全。用nigix这种方式只会增加站点对外网访问多一个服务,维护和排查问题起来。增加工作量,一步到位升级https才是明智选择。

猜你喜欢

转载自blog.csdn.net/rth362147773/article/details/78808481