您的当前位置:首页>全部文章>文章详情

前端报错:was loaded over HTTPS, but requested an insecure错误解决方案

发表于:2024-07-20 17:42:18浏览:972次TAG: #HTTPS #前端

当我们的浏览器出现类似“was loaded over HTTPS, but requested an insecure resource/frame”这种错误是,一般都是因为我们的网站是HTTPS的,而对方的链接是HTTP协议的,因此在Ajax或者javascript请求时,就会报如下这种错误。

图片alt

这个错误表明您的网页是通过安全的HTTPS协议加载的,但是在页面中请求了一个不安全的HTTP协议的脚本资源(即URL以http:// 开头,而不是https:// 开头)。现代浏览器中,将不安全的HTTP内容嵌入到HTTPS页面中一般会被阻止,以保护用户免受跨站脚本攻击(XSS)和其他网络攻击。

解决方法:

要解决这个问题,需要将请求的脚本资源也改为HTTPS版本。即将URL从http://改为https://

检查的网页代码,找到请求不安全脚本的部分。修改脚本的URL,将http://替换为https://。

<script src="https://pv.sohu.com/cityjson"></script>
//改为
<script src="//pv.sohu.com/cityjson"></script>

如果控制不了资源服务器,可以使用如下方案解决,在自己的网站标签里面加入如下meta标签信息即可:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

原理是使用META标签强制将http请求转成https(SSL协议)请求。