https网站加载http资源问题

https网站加载http资源问题

前言:最近项目对接了一个第三方的平台、我们需要展示第三方平台返回来的图片资源、由于我们的服务器设置为了https、但是第三方平台返回的图片链接是 http 资源。所以就出现了图片无法加载出来的问题,在此记录一下问题的解决方案。

原因:

这是浏览器的规则限制了、https:// 页面只能加载访问安全的https:// 资源

解决方案:

方案一:在资源服务器上设置响应头

javascript 复制代码
"Content-Security-Policy": "upgrade-insecure-requests"

弊端:这种解决方案仅限于需要加载的http资源是在我们自己服务器上(我们自己可以配置操作)。如果是第三方服务器上则我们无法操作

方案二:在主页面(入口html文件)设置meta头

以Vue项目为例:在public/index.html 文件内加入下面这行代码

javascript 复制代码
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

方案三:删除链接中的http:

将需要访问的资源链接中的http: 协议前缀删除

不指定具体协议,使用资源协议自适配,比如,当前为https页面,那么就是https资源,如果是http页面,那么就是http资源。

javascript 复制代码
//修改前
<link rel="stylesheet" href="http://at.alicdn.com/t/font_830376_qzecyukz0s.css" />
// 修改后
<link rel="stylesheet" href="//at.alicdn.com/t/font_830376_qzecyukz0s.css" />

方案四:将第三方资源下载到自己的服务器上、然后再访问。

这种方案就需要后端配合、后端将资源上传到我们自己的文件服务器上、返回再将自己的文件服务器的资源链接返回给前端。

相关推荐
csdn_aspnet1 小时前
在 ASP.NET Core 中使用自定义属性实现 HTTP 请求和响应加密
http·asp.net·.netcore
攻城狮在此2 小时前
网络拓扑图绘制规范与实操指南
网络
Fly Wine2 小时前
IPsec 多链路建立IPsec隧道(总部tunnel多链路备份,分支物理口)
网络
不知名。。。。。。。。3 小时前
HTTP协议
网络·网络协议·http
冉佳驹3 小时前
Qt【第六篇】 ——— 事件处理、多线程、网络与文件等操作详解
qt·http·udp·tcp·事件·多线程与互斥锁
FlDmr4i283 小时前
ArcGIS授权管理器断网后自动停止
网络·arcgis
国产化创客3 小时前
ESPectre + Home Assistant快速实现WiFI-CSI 可视化方案
网络·物联网·信息与通信·智能硬件·wifi csi
mounter6253 小时前
【高性能网络】Devmem TCP 深度拆解:打破 100G 网络的“CPU 搬运墙”与延迟瓶颈
网络·网络协议·tcp/ip·kernel·devmem tcp
Sapphire小蓝3 小时前
虚拟机ping不通网络问题解决方案
网络·ubuntu
凉、介3 小时前
深入理解组播
网络·笔记·学习·组播