我们有一个 Docker 堆栈,我们使用 mkcert 生成 SSL 证书以用于本地开发。
我最近切换到一台新计算机并再次执行生成 SSL 证书的过程,但我对新证书有问题:“交付者”部分显示我的旧计算机,而“交付给”部分显示我的新计算机。
当我尝试连接到本地开发 URL 时,我得到“NET::ERR_CERT_AUTHORITY_INVALID”。
这是我用来生成证书的命令:
mkcert backend.xyz 127.0.0.1 ::1
这是从谷歌浏览器看到的证书:来自谷歌浏览器的 SSL 证书
您可以在此屏幕截图中看到“Délivré par”(由 / issuer 交付)和“Délivré à”(交付至)有 2 台不同的计算机。
以下是我为确保证书真正删除而执行的步骤:
- 在 Google Chrome 设置中,我进入了安全 -> 管理证书 -> 删除了对生成的证书的所有引用
- 在 Windows 中,Win+R -> inetcpl.cpl -> 内容选项卡 -> 清除 SSL 状态(删除 SSL 缓存)
- 在 Windows 中,Win+R -> MMC -> 删除与我的开发堆栈关联的根证书
- 重新启动计算机并重建 Docker 堆栈
- 在 Docker 中使用 mkcert 重新生成 SSL 证书
毕竟,我的旧计算机的发行者/交付仍然存在相同的问题,并且证书仍未在 Chrome 中验证。在切换计算机之前它工作正常,我的其他开发人员根本没有这个问题。
谢谢您的帮助!