前言:
今天解决了一个大问题,这个问题困扰了我两个多星期。一定要记录下,为遇到此问题的同学提供思路。
问题描述:
我做了个资源服务器,用来保存图片和视频的,在本地测试没有问题,在生产环境中回显时就会报错:
报错信息如下:Mixed Content: The page at '<URL>' was loaded over HTTPS, but requested an insecure plugin resource '<URL>'. This request has been blocked; the content must be served over HTTPS
原因是:浏览器的安全策略,在https的请求里会将http的访问block掉。
解决方式:
1网上的几种方式:
相对协议
对于同时支持HTTPS和HTTP的资源,引用的时候要把引用资源的URL里的协议头去掉,浏览器会自动根据当前是HTTPS还是HTTP来给资源URL补上协议头的,可以达到无缝切换。
(没有成功,原因是我的http资源服务器只支持http请求,不支持https,这种方式成功的前提是必须两种方式都支持)
iframe方式
使用iframe