阿拉平平
读完需要
分钟
速读仅需 2 分钟
1. 项目介绍
mkcert[1] 是一个用于生成本地自签名 SSL 证书的开源工具,项目基于 Golang 开发,可跨平台使用,不需要配置,支持多域名以及自动信任 CA。
2. 准备工作
服务器:用于提供 Web 服务,安装 nginx 并开启 SSL,系统为 CentOS 7.8。
PC 端:一台 Win10 电脑,用于测试访问,与服务器处于同一局域网。
3. 下载安装
[root@localhost ~]# wget -O mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64
为二进制文件添加可执行权限,并移动到 $PATH 中:
[root@localhost ~]# chmod +x mkcert
[root@localhost ~]# mv mkcert /usr/local/bin/
[root@localhost ~]# mkcert -version
v1.4.3
4. 使用说明
mkcert domain1 [domain2 [...]]
多个域名/IP用空格分隔,一个自签名的证书可以这样创建:
[root@localhost ~]# mkcert 192.168.128.134 example.com localhost 127.0.0.1 ::1
Note: the local CA is not installed in the system trust store.
Note: the local CA is not installed in the Firefox and/or Chrome/Chromium trust store.
Run "mkcert -install" for certificates to be trusted automatically
Created a new certificate valid for the following names
- "192.168.128.134"
- "example.com"
- "localhost"
- "127.0.0.1"
- "::1"
The certificate is at "./192.168.128.134+4.pem" and the key at "./192.168.128.134+4-key.pem"
It will expire on 7 September 2023
由于服务器上已经装了 nginx,也配置了 SSL,所以在命令中可以加入 -cert-file 和 -key-file 参数,将文件直接生成到对应的目录里:
[root@localhost ~]# mkcert -cert-file /etc/nginx/ssl/server.crt -key-file /etc/nginx/ssl/server.key 192.168.128.134 example.com localhost 127.0.0.1 ::1

回到服务器,执行以下命令将 mkcert 的认证机构安装到服务器上:
[root@localhost ~]# mkcert -install
[root@localhost ~]# mkcert -CAROOT
/root/.local/share/mkcert

双击 rootCA.crt,根据提示安装证书,步骤如下:
重启浏览器再次访问,可以看到连接已经变为安全:
5. 写在最后
在这篇文章中,我们通过 mkcert 创建了自签名的 SSL 证书,并建立了安全的访问连接。与 OpenSSL 相比,mkcert 的使用更加简单,简化了在内网搭建 HTTPS 环境的复杂性。
References
[1]
mkcert: https://github.com/FiloSottile/mkcert
原文始发于微信公众号(阿拉平平):mkcert 使用指南:如何快速创建自签名 SSL 证书
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/287752.html