今早起床的时候收到来自 Let's Encrypt 的 Beta Program 的邀请,提醒我之前提交的域名已经被添加到 whitelist,可以申请 Let's Encrypt 的 TLS 证书啦。
Let's Encrypt 的证书签发流程不同于以往的证书商,它提供了一个客户端,使用这个客户端就可以以自动化的方式完成证书的申请和签发。
首先,需要从 Github 上 clone 下来 Let's Encrypt 的整个 repo:
git clone https://github.com/letsencrypt/letsencrypt
只需要一行命令就可以完成域名的认证以及证书的签发:
cd letsencrypt
./letsencrypt-auto --agree-dev-preview --server \
https://acme-v01.api.letsencrypt.org/directory auth
在这个过程中会要求选择手动方式认证还是独立方式认证,如果选择独立认证会要求暂停占用443端口的 Nginx,我猜可能是要让认证服务器访问域名所对应服务器的443端口来完成域名的认证操作。
输入email和域名,完成认证。
这时候可以在/etc/letsencrypt/live/DOMAIN_NAME
找到签发的证书,对于 Nginx 而言,只需要在配置文件中添加两行即可启用 Let's Encrypt 的 TLS 证书:
ssl_certificate /etc/letsencrypt/live/DOMAIN_NAME/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/DOMAIN_NAME/privkey.pem;
p.s. 目前一个证书的有效期是90天,官方建议每隔60天重新签发一次,未来应该会有自动化的工具可以做到自动续签。
有兴趣的同学可以填写下面的表单申请加入:
Leave a Comment