一、准备工作与环境要求
生成SSL证书前需满足以下基础条件:已注册的有效域名、服务器管理员权限、安装Nginx/Apache等Web服务器。推荐使用Ubuntu/CentOS等Linux发行版,确保系统时间准确且开放80/443端口。
选择证书类型时,单域名DV证书适用于大多数场景。Let’s Encrypt提供免费证书且支持自动化续期,是快速部署的首选方案。
二、使用Certbot生成证书
通过以下步骤安装Certbot并生成证书:
- 更新系统包列表:
sudo apt update
- 安装Certbot与Nginx插件:
sudo apt install certbot python3-certbot-nginx
- 执行证书生成命令:
sudo certbot --nginx -d yourdomain.com
交互式向导会引导完成邮箱注册与协议确认,证书文件将自动存储在/etc/letsencrypt/live/
目录。
三、自动续期与Nginx配置
Certbot默认创建定时任务实现自动续期,可通过sudo certbot renew --dry-run
测试续期功能。Nginx配置文件会由工具自动更新证书路径,建议手动检查ssl_certificate
与ssl_certificate_key
参数是否指向最新证书文件。
反向代理服务器需添加以下配置:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
四、常见问题与验证方法
遇到验证失败时可尝试以下解决方案:
- DNS解析问题:确认域名A记录指向服务器IP
- 端口占用冲突:临时关闭防火墙
sudo ufw allow 80
- 证书未生效:使用
sudo systemctl reload nginx
重载服务
通过访问https://www.ssllabs.com/ssltest/
可检测证书安装状态与加密强度。
利用Let’s Encrypt与Certbot工具组合,可在10分钟内完成SSL证书的生成与部署。自动化续期机制和标准化配置流程,显著降低了HTTPS的运维门槛,建议所有网站管理员采用此类方案提升安全性。