一款用于搭建本地受信任 CA 证书的工具:mkcert 使用教程(本地 HTTPS/SSL 证书生成)

一款用于搭建本地受信任 CA 证书的工具:mkcert 使用教程(本地 HTTPS/SSL 证书生成)

简介(本地HTTPS开发必备工具)

mkcert 是一款使用 Go 语言编写的零配置本地SSL证书生成工具,专为开发与测试环境设计,核心解决本地开发中“自签名证书被浏览器提示不安全”的痛点,是前端、后端、运维开发者搭建本地HTTPS环境的首选工具。

通过 mkcert,开发者可快速创建本地受信任的 CA(证书颁发机构)并签发 SSL/TLS 证书,无需复杂配置,即可在本地环境中模拟生产级 HTTPS 加密通信,广泛适用于本地网站开发、API接口调试、反向代理配置、Docker容器环境、微服务测试等高频开发场景,大幅提升本地开发效率。

mkcert 的主要功能(本地CA证书+HTTPS证书一站式生成)

自动创建并信任本地 CA(无需手动导入)

mkcert 最大优势之一就是“零配置信任”,首次运行时会自动生成本地 CA 根证书,并自动安装到系统与主流浏览器信任存储中,无需手动导入证书,彻底解决浏览器证书警告问题。

核心命令(一键安装本地CA):

mkcert -install

安装完成后,本机通过mkcert生成的所有证书,在Chrome、Edge、Firefox、Safari等浏览器中均会显示“安全连接”,无任何证书不安全提示,完美模拟生产环境HTTPS体验。

快速生成本地 HTTPS 证书(多场景适配)

1. 单域名证书(最常用场景)

适用于本地单域名开发(如本地项目调试、单个API服务),一键生成证书和私钥:

mkcert example.com

生成文件(直接可用,无需额外配置):

  • example.com.pem(SSL证书文件)
  • example.com-key.pem(证书私钥文件)

2. 多域名 / 通配符证书(批量适配场景)

适用于多域名开发、子域名调试(如前后端分离项目、多子域名服务),支持通配符域名、多域名SAN、ECDSA高安全密钥算法:

mkcert -cert-file cert.pem -key-file key.pem example.com "*.example.com"

核心支持:通配符域名(*.example.com)、多域名同时配置、ECDSA密钥算法(更高安全性、更快握手速度)。

3. 本地开发专用域名(本地调试首选)

覆盖localhost、IPv4(127.0.0.1)、IPv6(::1),适配本地Web服务、Node.js、Docker、Nginx、Apache等所有本地开发环境,无需修改hosts:

mkcert localhost 127.0.0.1 ::1

证书管理(简单高效,新手友好)

  • 安装本地CA(一键信任):mkcert -install
  • 清理本地CA(卸载清理):mkcert -uninstall
  • 自定义证书输出路径(适配项目目录):mkcert -cert-file cert.pem -key-file key.pem example.com

mkcert 技术优势(碾压传统本地证书生成方式)

1. 跨平台全面支持(全系统适配)

完美支持主流操作系统和浏览器,无需区分环境,一套命令通用所有开发设备:

  • 操作系统:macOS、Linux、Windows(全覆盖)
  • 浏览器:Chrome、Edge、Firefox、Safari(自动信任,无需手动配置)

2. 零配置本地 HTTPS(新手也能上手)

彻底告别传统证书生成的复杂流程,无需手动生成CA、无需导入系统信任、无需配置浏览器证书,一条命令即可生成可用HTTPS证书,大幅节省开发配置时间。

3. 更安全的加密算法(兼顾安全与性能)

支持ECDSA密钥算法,相比传统RSA算法,优势明显:

mkcert -ecdsa example.com
  • 密钥长度更短(节省资源)
  • 安全强度更高(抵御常见攻击)
  • 握手性能更快(提升本地服务响应速度)

注意事项(避坑指南,必看!)

1. mkcert 证书仅适用于本地开发/测试环境,绝对不可用于生产环境公网网站(无公网信任,会导致访问异常);

2. 每台开发机器需单独初始化CA(mkcert -install),不同机器的CA不通用;

3. 本地CA根证书属于敏感信息,不应泄露、不应提交到代码仓库(避免安全风险);

4. 官方版本限制:不支持自定义CA组织信息、不支持自定义证书有效期,如需扩展功能,可使用社区Fork版本。

mkcert 安装教程(分系统,一步到位)

Linux 系统安装(Ubuntu/Debian/CentOS等)

先安装NSS依赖(浏览器信任所需,必装),再安装mkcert:

# Debian / Ubuntu 系统
sudo apt install libnss3-tools
# CentOS / RHEL 系统
sudo yum install nss-tools
# Arch 系统
sudo pacman -S nss
# openSUSE 系统
sudo zypper install mozilla-nss-tools

# 安装mkcert(所有Linux系统通用)
sudo apt install mkcert

macOS 系统安装(Homebrew首选)

通过Homebrew一键安装,Firefox浏览器需额外安装nss依赖:

brew install mkcert
brew install nss   # Firefox 浏览器信任所需,必装

Windows 系统安装(Chocolatey/Scoop两种方式)

方式1:Chocolatey安装(推荐,简单快捷)

choco install mkcert

方式2:Scoop安装(适合习惯Scoop的用户)

scoop bucket add extras
scoop install mkcert

mkcert 使用示例(实战演示,直接套用)

场景:搭建本地多域名HTTPS开发环境(覆盖单域名、通配符、本地地址)

# 1. 安装本地CA(首次使用必执行)
mkcert -install

# 2. 生成多域名证书(适配多种本地开发场景)
mkcert example.com "*.example.com" example.test localhost 127.0.0.1 ::1

生成输出文件(可直接用于Nginx、Node.js等服务):

  • example.com+5.pem(合并后的SSL证书)
  • example.com+5-key.pem(证书私钥)
图片[1]-一款用于搭建本地受信任 CA 证书的工具:mkcert 使用教程(本地 HTTPS/SSL 证书生成)-微生之最

mkcert 常用参数(高频使用,收藏备用)

参数说明(核心用途)
-cert-file FILE指定SSL证书输出路径(适配项目目录,避免找文件)
-key-file FILE指定证书私钥输出路径(与证书对应,便于管理)
-p12-file FILE生成PKCS#12文件(适配Java项目、部分客户端场景)
-client生成客户端证书(用于客户端认证场景)
-ecdsa使用ECDSA密钥算法(高安全、高性能,推荐使用)
-pkcs12输出p12/pfx格式证书(适配Windows系统、部分服务)
-csr CSR基于CSR签发证书(适配已有CSR文件的场景)

mkcert 适用场景(覆盖全开发场景,必看匹配)

mkcert 是本地HTTPS开发的“万能工具”,核心适用以下高频场景,建议收藏对应用法:

  • 本地HTTPS开发环境搭建(前端Vue/React项目、后端服务调试)
  • Node.js / Vite / Webpack Dev Server 本地HTTPS配置
  • Docker / Kubernetes 本地容器服务HTTPS部署
  • API接口调试(尤其是要求HTTPS协议的接口测试)
  • OAuth / Cookie Secure 功能测试(需HTTPS环境支撑)
  • HTTP/2 / Service Worker 调试(必须依赖HTTPS环境)
  • Nginx/Apache反向代理HTTPS本地配置
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
嘀哩 抢沙发

请登录后发表评论

    暂无评论内容