一、使用 Let’s Encrypt 生成免费证书
Let’s Encrypt 是目前最流行的免费 SSL 证书颁发机构,支持自动化生成和管理证书。推荐使用 Certbot 工具实现快速部署:
- 安装 Certbot:在 Ubuntu/Debian 系统上运行
sudo apt update && sudo apt install certbot python3-certbot-nginx
;CentOS/RHEL 系统需先启用 EPEL 仓库再安装。 - 生成证书:执行命令
sudo certbot --nginx -d wu123.cn -d *.wu123.cn
,工具将自动验证域名所有权并生成证书文件。 - 验证证书:通过
certbot certificates
查看证书状态及到期时间。
二、配置证书到 Nginx 服务器
Certbot 默认会将证书路径写入 Nginx 配置文件,但仍建议手动检查配置:
- 打开 Nginx 站点配置文件(如
/etc/nginx/sites-available/default
),确认ssl_certificate
和ssl_certificate_key
指向正确的证书文件(通常位于/etc/letsencrypt/live/[域名]/
)。 - 重新加载配置:执行
sudo nginx -s reload
使配置生效。
三、配置自动续期任务
Let’s Encrypt 证书有效期为 90 天,需设置自动续期任务:
- 使用 Certbot 内置续期命令:添加 Cron 任务
0 0 * * * certbot renew --quiet
,每天检查并自动续期。 - 若使用 acme.sh 脚本,可通过
acme.sh --renew -d example.com
配合 Cron 实现续期,并支持 DNS API 自动验证(如腾讯云、阿里云)。 - 测试续期流程:运行
certbot renew --dry-run
验证自动化流程是否正常。
四、注意事项与最佳实践
为确保 HTTPS 服务稳定运行,需注意以下事项:
- 证书有效期监控:通过监控工具或脚本定期检查证书状态,避免因续期失败导致服务中断。
- DNS 解析验证:若使用通配符证书,需通过 DNS API 验证域名所有权,确保 API 密钥安全存储。
- 备份与恢复:定期备份
/etc/letsencrypt
目录,避免证书文件丢失。
结论:通过 Let’s Encrypt 和自动化工具(如 Certbot 或 acme.sh),可快速生成免费 HTTPS 证书并实现自动续期。合理配置 Nginx 服务器和定时任务,结合监控与备份策略,可显著提升网站安全性与运维效率。