开发环境中生成自签名证书
在本篇文章中,我们将介绍如何使用轻量级工具 minica 在本地开发环境中生成自签名证书,支持 macOS、Windows 和 Linux(包括 CentOS 和 Debian 系列)。内容涵盖安装方法、证书生成、根证书的安装与信任配置,以及如何在本地开发服务器(如 NGINX)中集成 HTTPS 支持。通过本教程,你可以快速实现开发环境的 HTTPS 配置,让本地站点更加安全、专业,且无需依赖外部 CA。
安装 minica
macOS
通过 Homebrew 安装:
brew install minica |
Windows
- 从 minica GitHub 下载最新版本的
minica.exe。 - 将
minica.exe移动到系统路径目录(如C:\Windows\System32),方便全局调用。
Linux (CentOS/Debian)
使用源代码安装
确保系统已安装 Go 编译环境。
sudo yum install golang # CentOS
sudo apt install golang # Debian/Ubuntu克隆
minica仓库并编译:git clone https://github.com/jsha/minica.git
cd minica
go build编译完成后,你会在当前目录下得到
minica可执行文件。将
minica文件移动到/usr/local/bin,以便全局使用:sudo mv minica /usr/local/bin/
生成根证书和私钥
运行以下命令生成根证书和私钥:
minica |
生成的文件:
minica.pem:根证书minica-key.pem:根证书的私钥
为本地开发域生成证书
以 example.local 为例,生成域名证书:
minica --domains example.local |
生成的目录结构:
. |
安装根证书
macOS
- 打开 钥匙串访问 (Keychain Access)。
- 选择
文件 -> 导入项目,导入minica.pem。 - 在 系统 钥匙串中找到导入的证书,右键选择
获取信息。 - 在 信任 部分,将
使用此证书时设置为始终信任。
Windows
- 双击
minica.pem文件启动证书安装向导。 - 选择
本地计算机,点击下一步。 - 选择
将所有的证书放入下列存储,点击浏览。 - 选择
受信任的根证书颁发机构,完成安装。
Linux (CentOS/Debian)
- 将根证书复制到系统证书目录:
sudo cp minica.pem /usr/local/share/ca-certificates/minica.crt
- 更新系统证书存储:
sudo update-ca-certificates # Debian 系列
sudo update-ca-trust # CentOS 系列
配置本地开发服务器
以 NGINX 为例,配置 HTTPS 服务:
server { |
重启 NGINX:
sudo systemctl restart nginx |
修改 hosts 文件
为确保浏览器可以解析 example.local,需要更新 hosts 文件。
macOS / Linux
编辑 hosts 文件:
sudo vim /etc/hosts |
添加以下内容:
127.0.0.1 example.local |
保存并退出。
Windows
- 打开 记事本(管理员权限)。
- 编辑文件
C:\Windows\System32\drivers\etc\hosts。 - 添加以下内容:
127.0.0.1 example.local
- 保存文件。
访问本地站点
在浏览器中访问 https://example.local。如果根证书已正确安装,你将不会看到任何安全警告。
注意事项
- 证书安全性:妥善保存私钥文件(如
minica-key.pem和example.local/key.pem),避免泄露。 - 域名管理:避免使用通用域名(如
example.com),推荐使用.local或.test后缀。 - 适配性:如需在多个系统间共享证书,请确保根证书和域名证书的路径一致。