码山蜗牛

多动笔,少哔哔

Ubuntu使用Let’s Encrypt生成免费SSL证书自动续期

1、安装package

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、生成证书

sudo certbot --nginx

一路agree和yes,并输入自己的网站名称,和自己的邮箱以及选择http跳转方式(2),
最终会出现Congratulations! You have successfully enabled https://www.example.com字样,
恭喜你!你的网站已经加密成功了!
可以用如下命令做测试
为了确保自动续期配置正确,我们可以手动触发一次续期:

sudo certbot renew --dry-run

3、配置自动续期

Let's Encrypt 的证书有效期为 90 天,因此我们需要设置自动续期。运行以下命令编辑 crontab:

sudo crontab -e
0 0 1 * * /usr/bin/certbot renew --quiet

这将在每个月的第一天自动尝试续期证书。

crontab -e
30 4 * * 1 certbot renew --renew-hook "systemctl restart nginx" --quiet > /dev/null 2>&1 &

每周一凌晨4点30自动更新证书,如果更新成功就自动重启nginx服务,证书在到期前30天内才能更新,多余的更新会自动忽略掉的,每周更新还有一个好处是更新可能会失败,这样最多还有4次的尝试机会来保证不会过期.

posted @ 2024-05-28 15:05  码山蜗牛  阅读(121)  评论(0)    收藏  举报