如何在https的网站上嵌套http资源

本文详细记录了解决HTTPS页面加载HTTP资源时浏览器报错问题的过程。问题在于浏览器安全策略阻止了HTTPS页面请求HTTP内容。尝试了相对协议、iframe、meta标签升级请求等方法未果。最终通过在生产环境部署Nginx,将HTTPS请求转发到HTTP资源服务器,并在资源服务器上再用Nginx转发至静态资源,成功实现了回显且避免了安全问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

今天解决了一个大问题,这个问题困扰了我两个多星期。一定要记录下,为遇到此问题的同学提供思路。

问题描述:

我做了个资源服务器,用来保存图片和视频的,在本地测试没有问题,在生产环境中回显时就会报错:

 

报错信息如下: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的方式引入HTTP资

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值