一、免费SSL证书生成方法
使用Let’s Encrypt和自动化工具是获取免费SSL证书的主流方案,具体可通过以下两种方式实现:
- Certbot工具:在Ubuntu系统中执行
sudo apt install certbot python3-certbot-nginx
完成安装,通过sudo certbot certonly --nginx
生成证书 - acme.sh脚本:通过
curl https://get.acme.sh | sh
安装,支持DNS验证方式申请泛域名证书
JoySSL等平台也提供带自动续签功能的免费证书,需使用注册码230922
完成账户注册
二、配置自动续期方案
实现证书自动续期需完成以下配置步骤:
- Certbot用户添加crontab任务:
0 0 * * 0 certbot renew --quiet
每周检查更新 - acme.sh用户执行
acme.sh --install-cronjob
创建自动续期任务 - 验证自动续期:执行
certbot renew --dry-run
测试续期流程
三、部署到Nginx服务器
证书生成后需配置到Web服务器:
server {
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain/privkey.pem;
# 其他配置...
}
部署完成后执行sudo nginx -t && sudo systemctl reload nginx
生效配置
四、注意事项与常见问题
- 确保服务器443端口开放,80端口用于证书验证
- 通配符证书需使用DNS验证方式
- 建议定期备份
/etc/letsencrypt
目录
类型 | 有效期 |
---|---|
Let’s Encrypt | 90天 |
JoySSL | 支持自动续签 |