使用 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
- 设置结束,提示你去 http://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"
这样每周都会自动检查更新。
4. 其他系统
如果想要知道其他系统的安装方法,请参考