问题描述: 在写一个项目完成后, 项目打包上线发现项目无法找到资源,经核实后端地址为http://xxxxxxxxx被莫名其妙改写成了https://xxxxxxxxx请求, 导致项目无法正常被访问。
问题本质: 在https页面中,如果调用了http资源,那么浏览器就会抛出一些错误。为了改变成这一状况,chrome(谷歌浏览器)会在http请求中加入 ‘Upgrade-Insecure-Requests: 1’ ,服务器收到请求后会返回 “Content-Security-Policy: upgrade-insecure-requests” 头,告诉浏览器,可以把所属本站的所有 http 连接升级为 https 连接。
解决方式:
1. 检查项目中index.html中是否有
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
将代码中的 content="upgrade-insecure-requests" 删除掉,即可。
2. 检查项目中的vite.config.js 或vite.config.ts文件中proxy代理的server对象中有没有https这个属性, 将其改为false即可