前置阅读: macOS 下 Nginx 安装及设置
近期在部分开发场景中,需要使用的 HTTPS 环境,故研究了下 macOS 下 Nginx HTTPS 环境配置。
( HTTPS 相关知识可自行了解 )
创建自定义 SSL 证书
之前在服务器上一直使用 Let’s Encrypt 的 Certbot 脚本一键安装,但是发现本地并无法正确申请证书和使用。
在搜索相关教程和对比之后,发现可以通过 OpenSSL 生成证书或直接使用 mkcert 简易生成证书。
本文主要针对 mkcert 如何创建证书及使用。
安装
使用 macOS 上的 Package Manager - HomeBrew 来安装 mkcert。
1 | brew install mkcert |
创建根证书
创建根证书 CA ( Certificate Authority,即证书颁发机构 ),可以运行以下命令
1 | mkcert -install |
安装后使用 Keychain Access App 查看安装的证书,点击具体证书可以查看更详细信息:
创建自签名证书
例如需要针对 tuzkiss.com 、localhost 等域名生成自签名证书,则可以运行以下命令:
1 | mkcert tuzkiss.com localhost 127.0.0.1 |
成功创建之后,会在该目录下生成如下两个文件:
- 证书 tuzkiss.com+2.pem
- 私钥 tuzkiss.com+2-key.pem
你可以手动跟改这两个文件名,例如:
1 | tuzkiss.com+2.pem -> Tuzkiss-SSL.pem |
或者可以直接通过 mkcert 中命令参数创建:
1 | mkcert -cert-file Tuzkiss-SSL.pem -key-file Tuzkiss-SSL-Key.pem tuzkiss.com localhost 127.0.0.1 |
最终都会生成如下两个文件:
至此,自定义 SSL 证书均已创建完毕。
更多 mkcert 详细使用可查看:https://github.com/FiloSottile/mkcert