1. 异常现象
接手了一个很远古的vue项目用的webpack打包,然后尝试本地启动却出现了 https://test.dev.tanqidi.com:8080/main.css net::ERR_SSL_PROTOCOL_ERROR 的错误,但这是本地开发啊?怎么会发出https,而且看网上说可以使用https: false来明确指定关闭但是也无济于事,真的是抓狂了。
2. 排查流程
花了大半天最终找到一行神奇的配置,<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">,不是哥们你为什么要这么配置啊,这完全可以在nginx那边做重定向强制跳转使用https啊,你在本地整这个只是为了给新接手的人挖坑?
这一行代码的作用是让所有 HTTP 请求自动升级到 HTTPS。
如果你的服务器不支持 HTTPS,而页面加载了这行代码,就会导致资源加载失败(例如
ERR_SSL_PROTOCOL_ERROR
)。解决方法:移除或修改这行代码,避免浏览器强制升级请求。