
介绍
Let's Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书。
Let's Encrypt由互联网安全研究小组(缩写ISRG)提供服务。主要赞助商包括电子前哨基金会、Mozilla基金会、Akamai以及思科。2015年4月9日,ISRG与Linux基金会宣布合作。
用以实现新的数字证书认证机构的协议被称为自动证书管理环境(ACME)。
最新进展
-     2017年6月,Let's Encrypt宣布将于2018年1月启用 ACME v2 API。 
-     2017年7月,Let's Encrypt宣布将于2018年1月支持 通配符证书。 
Certbot ACME客户端

Certbot 是 Let’s Encrypt 官方推荐的证书生成客户端工具。Certbot可以自动发行和安装证书,也可以使用手动模式自己安装。不需要停机。
PS:Certbot 还提供 staging environment.  ACME v2  https://acme-staging-v02.api.letsencrypt.org/directory详情请查看:https://letsencrypt.org/docs/staging-environment/
如果Certbot不能满足你的需求,你可以选择其他方式。https://letsencrypt.org/docs/client-options/
安装 Certbot
-     安装软硬件环境: Docker Nginx on Ubuntu 16.04 (xenial)
-     首先你得有一台外网正常访问的服务器,并且将域名(将要签发证书的域名,如 domain.com) 解析到这台服务器上。 
-     登陆SSH并安装 certbot
$ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:certbot/certbot$ sudo apt-get update $ sudo apt-get install certbot  $ certbot --version certbot 0.26.1- nginx插件模式
安装 python-cert-nginx
$ sudo apt-get update $ sudo apt-get install python-certbot-nginx $ certbot --nginx- 手动模式 Manual (推荐使用)
可以选择的模式有http、dns和tls-sni方式生成。建议选择dns模式,方便快捷,失误少。
只需要在域名解析上添加一条txt dns记录即可验证。
例如:_acme-challenge.example.com 300 IN TXT "-dByV6BUJ_eRNwvQAfczKdcvWmDqMfLvGWaNiXNcomU"
dns模式下生成证书:
                        
                        
                    