使用 certbot 给网站设置 let’s encrypt 免费证书

certbot 现在已经智能到只在命令行运行就能配置成功了,不需要手工验证证书,不需要修改nginx配置。以 ubuntu 16.4 + Nginx 为例:

1. 首先安装 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 python-certbot-nginx 

2. 申请 LET’S ENCRYPT 免费证书

$ sudo certbot 
  • 会列出所有已配置的域名列表,域名前面是序号

  • 根据提示信息,输入用空格或者逗号分隔的序号

  • 如果一切正常,会提示证书已经安装,询问是否修改 nginx 配置文件强制 http 跳转到 https

  • 设置结束,提示你去 ssllabs.com 检测证书是否正常

以上就是设置全部的步骤。

3. 更新

更新命令是

$ sudo certbot renew --post-hook "service nginx reload"

更新完会使用post-hook重新加载 nginx 配置文件。

如果想要自动更新添加到定时任务就可以了:

$crontab -e

加上这一行

00 00 * * 1     certbot renew --post-hook "service nginx reload"

这样每周都会去检查一次