问题描述
页面里的一个走外部引用的js如下,项目测试环境为HTTP请求没有异常。
<script charset="UTF-8" type="text/javascript" src="http://index.js"></script>
在生产环境HTTPS请求时,页面加载报错。报错内容如下:
Mixed Content: The page at 'https://index.html' was loaded over HTTPS, but requested an insecure script 'http://index.js'.
This request has been blocked; the content must be served over HTTPS.
问题分析
由于浏览器的安全机制,禁止在HTTPS访问中,跨域访问HTTP请求。
解决
将该js引用修改为HTTPS链接,如果引用本身同时支持HTTP请求和HTTPS请求,可以修改为如下写法:
<script charset="UTF-8" type="text/javascript" src="//index.js"></script>