前端怎么安全地管理 HTTPS 证书?
我在本地开发一个 React 应用,需要调用后端的 HTTPS 接口,但每次启动 dev server 都提示证书不被信任。我试过用 mkcert 生成本地 CA 和证书,也配到了 webpack-dev-server,但浏览器还是报 NET::ERR_CERT_AUTHORITY_INVALID。
是不是我配置错了?下面是我的 webpack 配置片段:
devServer: {
https: {
key: fs.readFileSync('localhost-key.pem'),
cert: fs.readFileSync('localhost.pem'),
},
host: 'localhost',
}
首先确保你执行过mkcert安装本地CA的命令:
然后检查下证书是不是用这个CA签发的:
你的webpack配置看起来没问题,问题出在浏览器信任链。不同系统处理方式不一样:
Windows下双击CA证书安装到受信任的根证书颁发机构
MacOS用钥匙串访问把CA证书拖到系统钥匙串,然后手动设置信任
最骚的是Chrome有时候会抽风,试试这几个操作:
1. 完全关闭所有Chrome进程再开
2. chrome://flags里搜索"Allow invalid certificates"确保没开
3. 清空浏览器缓存
如果还不行,可以临时用这个参数启动Chrome(不推荐长期用):
我一般用mkcert从来没翻车过,你这种情况大概率是CA证书没装对位置。实在不行就换个浏览器试试,Firefox对本地证书管理更友好些。