Let’s Encrypt 的证书有效期为 90 天,但它提供了非常方便的自动续期功能。主要通过 certbot 工具来实现自动续期:
- 安装 certbot 后,它会自动在系统中创建一个定时任务(cron job),默认每天运行两次续期检查。
- 基本命令:
# 查看现有证书 certbot certificates
# 测试自动续期 certbot renew --dry-run
# 手动强制续期 certbot renew
- 查看自动续期定时任务:
systemctl status certbot.timer # systemd 系统 crontab -l # cron 系统
- 典型的自动续期配置会在证书过期前 30 天开始尝试续期。
- 续期后自动重启服务:
# 在 /etc/letsencrypt/renewal-hooks/deploy/ 目录下创建脚本 sudo nano /etc/letsencrypt/renewal-hooks/deploy/restart-nginx.sh
# 脚本内容 #!/bin/bash systemctl restart nginx
需要注意的是:
- 确保 certbot 运行时服务器能访问互联网
- 检查服务器防火墙是否允许 HTTP/HTTPS 流量
- 确保域名 DNS 解析正确指向服务器
- 建议定期检查日志确认续期状态
|