SSL证书申请部署配置全流程指南
SSL 证书配置与部署技术指南
SSL 证书是保障网站安全通信的核心组件,本文将指导用户完成从证书申请到部署的全过程,重点涵盖 Let's Encrypt 免费证书获取、证书自动续期及 Nginx 配置。
一、选择证书颁发机构
目前主流的证书颁发机构包括 Let's Encrypt(免费)、DigiCert、GlobalSign 等。Let's Encrypt 提供的证书无需付费,但有效期仅 90 天,需配合自动续期工具使用。
二、安装 Certbot 自动化工具
Certbot 是 Let's Encrypt 官方推荐的客户端工具,支持多种服务器环境的证书自动化部署。
1. 依赖包安装
根据不同操作系统,安装必要的依赖包。
- Ubuntu/Debian
sudo apt update
sudo apt install certbot python3-certbot-nginx
sudo yum install certbot python3-certbot-nginx
2. 获取证书
执行以下命令获取并安装证书,替换域名参数。
sudo certbot --nginx -d example.com -d www.example.com
# 交互式配置,选择同意协议并添加 HTTP-01 验证
# 完成后自动配置 Nginx
三、Nginx 配置优化
默认 Certbot 会自动修改 Nginx 配置文件,但建议进行以下优化。
1. 强制 HTTPS 重定向
在服务器块中添加以下配置。
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# 其他 SSL 配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://your_backend;
include proxy_params;
}
}
2. OCSP Stapling 配置
启用 OCSP Stapling 提高证书验证效率。
ssl_stapling on;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_search_str example.com;
四、自动续期配置
Certbot 提供了自动续期功能,需确保 cron 任务正常运行。
sudo crontab -l
# 添加以下行确保每天检查续期
0 0,12 * * * certbot renew --quiet
五、常见问题排查
部署过程中可能遇到以下问题:
1. 证书错误提示
检查 /var/log/letsencrypt/
目录下的日志文件,常见错误包括 DNS 记录未生效、端口 80 不可用等。
2. Nginx 配置冲突
若同时存在其他 HTTPS 站点,需确保端口 443 的配置优先级最高。
Certbot 还支持 Apache、Docker 等环境,具体配置可参考官方文档。企业级应用建议使用 ACME v2 协议获取更高级别的安全支持。
THE END