为什么本地开发用 HTTPS 会报证书错误?

南宫爱书 阅读 4

我在本地开发时启用了 HTTPS,但浏览器一直提示“您的连接不是私密连接”,点高级也过不去。我试过用 localhost127.0.0.1 都不行,是不是得自己生成证书?

之前用的是 create-react-app,启动命令加了 HTTPS=true,但好像它自动生成的证书不被信任。有没有办法让浏览器信任这个本地证书,或者绕过这个错误?

我来解答 赞 3 收藏
二维码
手机扫码查看
1 条解答
设计师珂簪
啊这个坑我踩过好几次,本地开发 HTTPS 确实烦人。create-react-app 那个自签名证书就是不被浏览器信任的,你需要自己搞个证书或者用 mkcert 这样的工具。

最方便的办法是用 mkcert,我本地开发都用这个:

1. 先装 mkcert(brew install mkcert 或者 choco install mkcert)
2. 跑 mkcert -install 生成根证书
3. 给 localhost 和 127.0.0.1 生成证书:mkcert localhost 127.0.0.1
4. 把生成的 .pem 文件配置到你的 dev server

如果是 create-react-app,你可以这样改 package.json:

"scripts": {
"start": "HTTPS=true SSL_CRT_FILE=./localhost.pem SSL_KEY_FILE=./localhost-key.pem react-scripts start"
}


我之前傻傻地试过各种浏览器跳过警告的方法,后来发现还是正经搞证书靠谱。Chrome 现在越来越严格,直接忽略警告都不行了。

还有个土办法是在 Chrome 地址栏直接输入 thisisunsafe,能强行跳过警告,但每次刷新都要输一次,特别烦。
点赞
2026-03-05 14:03