如何使用mkcert工具在Go语言中搭建本地HTTPS开发环境?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1151个文字,预计阅读时间需要5分钟。
由于mkcert创建的是本地自签名根证书,而非公共CA签发的;浏览器默认只信任系统级受信根证书,而mkcert的根证书需要手动安装到操作系统的信任链中(或特定浏览器的信任链中)。
常见错误现象:NET::ERR_CERT_AUTHORITY_INVALID、CERTIFICATE_VERIFY_FAILED(Go 程序报错)、curl 提示 SSL certificate problem: self signed certificate in certificate chain。
实操建议:
- 运行
mkcert -install必须用管理员权限(macOS/Linux 用sudo,Windows 用管理员 PowerShell) - 安装后需重启浏览器(Chrome/Edge 基于 OS 信任库,Firefox 自带证书管理,需单独导入)
- 验证是否成功:执行
mkcert -CAROOT查看根证书路径,再检查该路径下是否存在rootCA.pem和rootCA-key.pem
Go server 启动 HTTPS 时 panic: no such file or directory
这是最常见的路径错误——Go 的 http.ListenAndServeTLS 要求两个参数:certFile 和 keyFile 必须是文件路径字符串,且文件必须存在、可读、格式正确(PEM 编码)。
本文共计1151个文字,预计阅读时间需要5分钟。
由于mkcert创建的是本地自签名根证书,而非公共CA签发的;浏览器默认只信任系统级受信根证书,而mkcert的根证书需要手动安装到操作系统的信任链中(或特定浏览器的信任链中)。
常见错误现象:NET::ERR_CERT_AUTHORITY_INVALID、CERTIFICATE_VERIFY_FAILED(Go 程序报错)、curl 提示 SSL certificate problem: self signed certificate in certificate chain。
实操建议:
- 运行
mkcert -install必须用管理员权限(macOS/Linux 用sudo,Windows 用管理员 PowerShell) - 安装后需重启浏览器(Chrome/Edge 基于 OS 信任库,Firefox 自带证书管理,需单独导入)
- 验证是否成功:执行
mkcert -CAROOT查看根证书路径,再检查该路径下是否存在rootCA.pem和rootCA-key.pem
Go server 启动 HTTPS 时 panic: no such file or directory
这是最常见的路径错误——Go 的 http.ListenAndServeTLS 要求两个参数:certFile 和 keyFile 必须是文件路径字符串,且文件必须存在、可读、格式正确(PEM 编码)。

