SSL证书申请部署配置全流程指南

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
  • CentOS/RHEL
  • 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