目录
开源免费的 SSL 证书汇总
1. Google Mkcert
Go语言编写,用于生成本地HTTPS证书的工具,官网地址。
1.1. 安装
# Mac方式安装,其他平台见官网
$ brew install mkcert
# 如果用的是firefox还需安装nss
$ brew install nss
1.2. 生成
根证书生成后会在Mac系统钥匙串应用下的证书项中,存在 mkcert 的已安装的证书
# 生成根证书(只需生成一次)
$ mkcert -install
# 生成对应域名证书,可生成多个,也支持泛域名
$ mkcert localhost 127.0.0.1
Created a new certificate valid for the following names
- "localhost"
- "127.0.0.1"
The certificate is at "./localhost+2.pem" and the key at "./localhost+2-key.pem"
1.3. 使用
# nginx
ssl_certificate /etc/nginx/ssl/localhost+2.pem;
ssl_certificate_key /etc/nginx/ssl/localhost+2-key.pem;
# jekyll
$ sudo jekyll serve --ssl-cert ./localhost+2.pem --ssl-key ./localhost+2-key.pem --port 443
# http-server
$ http-server -p 443 --ssl --cert ./localhost+2.pem --key ./localhost+2-key.pem
移动端使用,IOS使用safari下载 rootCA.pem 并安装,在设置里确认并信任此证书;Android安装比较特殊,可参考。
2. Let’s Encrypt
Let’s Encrypt 是由 Mozilla 发起,诸多 CDN 厂商,浏览器厂商共同支持的免费 SSL 项目。Let’s Encrypt 使用一个命令行工具 certbot 来自动完成 CSR 生成,发起申请,DCV (Domain Control Validation) 验证,获取证 书的工作,基本上一行命令就搞定。
2.1. 安装
这里以 Debain9 和 nginx 为例子
$ sudo apt-get install certbot python-certbot-nginx -t stretch-backports
2.1. 使用
# 证书全自动安装
$ sudo certbot --nginx
# 需要有所定制则使用下面命令安装
$ sudo certbot --nginx certonly
2.2. 续订
Let的加密证书持续90天,可以使用计划任务续订证书有效期
$ sudo certbot renew --dry-run
版权所有,本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可。转载请注明出处:https://www.wangjun.dev//2019/06/https-certificate/