# https访问http加载不出图片怎么办

*Published:* 2024-01-08
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2024年1月8日，已超过 180天没有更新



> 如果在 [https](https://www.xarjtc.com/tag/https "查看https此标签更多文章") 协议的页面中加载了 http 资源，浏览器将认为这是不安全的，会默认阻止，会带来资源不全的问题。就会导致[图片](https://www.xarjtc.com/tag/pic "查看图片此标签更多文章")无法显示，样式无法加载，JS 无法加载。如果页面关键资源均为 http 协议，所有的操作、请求都将无效。

解决办法：

1、直接复制位于http协议服务器上的静态资源到本地（多用于解决第三方的问题），重新创建一套https的资源，让http和https指向各自的服务器；

2、用同一套代码，由nginx代理转发http和https到相同的静态资源，这要求两个协议处于同一服务；

3、加载静态资源时，不直接指定协议，使用当前页面协议，如&lt;script src="//cdn.com/jquery.js"&gt;&lt;/script&gt;，会自动根据当前页面的协议进行资源加载；

4、在页面的head中加入meta标签&lt;meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"&gt;，其作用是将当前页面所有http协议地址升级为https进行请求，由于该方案仅替换协议部分，如果http和https不同协议下静态资源路径有变化，该方法无法使用；

5、iframe的地址是http协议的，如果他们拒绝升级，解决方案只有自己写一遍iframe页面到本地。