Nginx 作为高性能 Web 服务器,其 SSL/TLS 配置对网站安全至关重要。以下是关键配置步骤与优化建议:

1. 基础配置流程 🔐

  • 证书准备
    下载 SSL 证书 和私钥文件(.crt/.key),建议使用 Let's Encrypt 免费获取

    SSL_Certificate
  • 配置文件修改
    nginx.conf 或站点配置文件中添加:

    server {
        listen 443 ssl;
        ssl_certificate /path/to/cert.pem;
        ssl_certificate_key /path/to/privkey.pem;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers HIGH:!aNULL:!MD5;
    }
    

    ✅ 确保 ssl_certificatessl_certificate_key 路径正确
    📌 可通过 /nginx_ssl_config 查看完整配置模板

  • 启用 SSL 模块
    编译安装 Nginx 时需包含 --with-http_ssl_module 参数

    Nginx_SSL_Module

2. 安全优化建议 🔒

  • 协议与加密套件
    禁用不安全协议(如 TLSv1.0)并优先使用 ECDHE 等现代算法
    📚 详细协议对比

  • HSTS 头配置
    添加 add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; 强制 HTTPS

    HSTS_Header
  • OCSP Stapling
    启用 ssl_stapling on; 提升证书验证效率,减少客户端延迟

3. 常见问题排查 🛠️

  • 证书失效:检查 ssl_certificate 文件更新时间
  • 连接失败:运行 openssl s_client -connect yourdomain:443 验证握手状态
  • 性能瓶颈:通过 ssl_prefer_server_cipher on; 优化加密算法协商顺序

🔗 了解更多 HTTPS 实践 | 查看证书工具推荐