Skip to content
Inspire - Capo Productions

mkcert

1. mkcert 介绍

mkcert 是一个简单易用的本地 HTTPS 证书生成工具,可以为本地开发环境创建受信任的 SSL 证书,而无需手动配置复杂的 CA(证书颁发机构)。

1.1 mkcert 特点

  • 简化 HTTPS 证书创建:避免浏览器不安全警告。
  • 无需手动配置 CA:自动安装本地受信任的根证书。
  • 跨平台支持:适用于 Windows、macOS 和 Linux。
  • 支持任意域名:包括 localhost127.0.0.1 和自定义域名。

2. Windows 环境安装 mkcert

2.1 安装 Chocolatey

可以使用 Chocolatey 进行安装(如果未安装 Chocolatey,请参考 Chocolatey 学习笔记):

powershell
choco install mkcert
Preview

2.1 验证安装

安装完成后,打开 PowerShellcmd,运行:

sh
mkcert -version

如果正确安装,将显示 mkcert 版本号。


3. 配置本地证书

3.1 安装本地 CA(仅需执行一次)

sh
mkcert -install

此命令会创建一个本地受信任的根证书,并将其添加到系统信任存储中。

Preview

3.2 生成本地 HTTPS 证书

创建 localhost127.0.0.1 的 HTTPS 证书:

sh
mkcert localhost 127.0.0.1 172.20.147.101 ::1

成功后,会生成以下文件:

  • localhost+3.pem(证书文件,localhost+3 表示有4个地址)
  • localhost+3-key.pem(私钥文件)
Preview

3.3 生成通用的 wildcard 证书(可用于多个子域)

sh
mkcert "*.example.com"

4. 结合 serve 使用 HTTPS

4.1 安装 serve

如果未安装 serve,可以使用 npm 进行安装:

sh
npm install -g serve

4.2 运行 serve 并使用 HTTPS 证书

使用 serve 运行本地 HTTPS 服务器,指定证书文件:

sh
serve -l 443 --ssl-cert C:\Users\zhangbaoxi\localhost+3.pem --ssl-key C:\Users\zhangbaoxi\localhost+3-key.pem

然后在浏览器访问 https://localhost,不会再出现“不安全”警告。

4.3 允许外部设备访问

如果希望局域网中的其他设备访问你的本地 HTTPS 服务器,可以运行:

sh
serve -l 0.0.0.0:443 --ssl-cert localhost+1.pem --ssl-key localhost+1-key.pem

其他设备可通过 https://你的IP 访问。


5. 其他进阶用法

5.1 删除本地 CA

如果需要清理 mkcert 生成的本地证书,可以运行:

sh
mkcert -uninstall

6. 总结

mkcert 是一个方便的本地 HTTPS 证书工具,结合 serve 可以轻松在本地搭建受信任的 HTTPS 服务器。掌握 mkcert 及其基本命令后,能够有效避免开发环境中 HTTPS 相关的问题。