前端报错之mixed content the page at was loaded over https

mixed content the page at was loaded over https

报错原因:

  • HTTPS页面里动态的引入HTTP资源,比如引入一个js文件;
  • 在HTTPS页面里通过AJAX的方式请求HTTP资源。

解决方案:

  • 如果目标有https资源,就是用https方式能打开连接,可以直接用相对路径例如//baidu.com

  • CSP:如果不想改,而且确定连接有https资源,可以用 <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> ,可以在相应的页面的里加上这句代码,意思是自动将http的不安全请求升级为https。

    • 通过 upgrade-insecure-requests 指令,页面中所有 HTTP 资源,都会首先被替换为 HTTPS 地址再发起请求;页面所有站内链接,点击后会被替换为 HTTPS 地址再跳转。
    • upgrade-insecure-requests 适用于网站资源已经做了https升级,但是页面链接需要改造的工作量太大,可以使用此指令快速实现目的。但是该指令只替换协议部分,因此只适用于转换后的https资源已经存在的情况。
  • 用自己服务器做一层代理。详细梳理ajax跨域4种解决方案

  • 点击网址输入栏右边的小金盾,允许加载未知来源的脚本。


前端报错之mixed content the page at was loaded over https
https://flepeng.github.io/021-frontend-浏览器策略-前端报错之mixed-content-the-page-at-was-loaded-over-https/
作者
Lepeng
发布于
2021年7月5日
许可协议