SSL证书简介
Let’s Encrypt 作为免费开放的证书颁发机构,通过ACME协议实现了SSL证书的自动化签发流程。其颁发的证书被所有主流浏览器信任,有效期为90天,需配合自动化工具实现续期。
生成免费证书
使用Certbot工具生成证书的典型步骤:
- 安装Certbot:
sudo apt install certbot python3-certbot-nginx
- 验证域名所有权(HTTP或DNS方式)
- 执行签发命令:
sudo certbot certonly --webroot -w /var/www/html -d example.com
配置服务器
Nginx配置示例需包含以下内容:
server {
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
建议配置HTTP到HTTPS的自动跳转,并开启HSTS增强安全性。
设置自动续期
实现自动化续期的关键步骤:
- 测试续期命令:
sudo certbot renew --dry-run
- 创建crontab定时任务:
0 3 * * * /usr/bin/certbot renew --quiet
- 配置证书更新后自动重载服务:
--post-hook "systemctl reload nginx"
通过Certbot工具与crontab定时任务的组合,可完全实现SSL证书的自动化管理。建议每月检查续期日志,并定期更新客户端工具以保证兼容性。这种方案相比商业托管服务,每年可节省数千元运维成本。