环境
- Ubuntu 16.04
- Nginx
开始
- 安装工具
sudo apt-get install letsencrypt
- 域名配置
将域名 example.com
A 记录指向当前服务器的 IP 地址。
- 获取证书
- 暂停 Nginx
sudo service nginx stop
- 执行获取证书命令
sudo letsencrypt certonly --standalone
按提示输入对应的域名走完流程,生成的证书信息将存放在如下目录:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
- 配置 Nginx
server {
......
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
......
}
- 重启 Nginx
sudo service nginx start
- 证书自动更新
证书有效期只有90天,所以需要定期更新证书。
新建文件 certbot-auto-renew-cron
,内容如下:
15 2 * */2 * certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start"
执行命令:
crontab certbot-auto-renew-cron
每隔两个月的凌晨 2:15 将执行更新操作。