必须在每个启用 HTTPS 的 server 块内配置 ssl_protocols TLSv1.2 TLSv1.3;,才能强制禁用 SSLv2/SSLv3/TLSv1.0/TLSv1.1;该指令在 http 或 location 块中无效,且需配合强加密套件与实测验证。

明确启用 TLS 1.2 和 TLS 1.3,禁用老旧协议
只保留现代、安全的协议版本是优化起点。TLS 1.0 和 1.1 已被主流浏览器和标准组织弃用,存在已知漏洞(如 POODLE、BEAST),必须关闭。
- 在
server或http块中配置:ssl_protocols TLSv1.2 TLSv1.3; - 避免写成
TLSv1 TLSv1.1 TLSv1.2 TLSv1.3—— 多余项会降低安全性 - 确认 Nginx 版本 ≥ 1.13.0(推荐 ≥ 1.24.0),OpenSSL 版本 ≥ 1.1.1(支持 TLS 1.3)
精选高强度加密套件,优先前向保密
加密套件决定密钥交换方式与对称加密算法,直接影响连接速度与长期密钥泄露后的数据安全性。
- 推荐配置(兼顾安全与兼容性):
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384'; - 关键点:
• 使用 ECDHE 实现前向保密
• 选用 AES-GCM 或 ChaCha20-Poly1305(后者对移动网络更友好)
• 禁用aNULL(无认证)、eNULL(无加密)、MD5、SHA1、RC4、DES
开启会话复用与 OCSP Stapling
减少重复握手开销,加快连接建立,同时提升证书状态验证效率与隐私性。
- 会话复用:
ssl_session_cache shared:SSL:10m;ssl_session_timeout 4h;proxy_ssl_session_reuse on;(反向代理场景需额外开启) - OCSP Stapling:
ssl_stapling on;ssl_stapling_verify on;ssl_trusted_certificate /path/to/ca-bundle.crt;resolver 8.8.8.8 1.1.1.1 valid=300s;resolver_timeout 5s;
校验后端 HTTPS 证书,不跳过安全检查
当 Nginx 以 HTTPS 方式代理后端(如 api.openai.com),忽略证书校验(proxy_ssl_verify off)虽能临时绕过错误,但会暴露中间人风险。
- 正确做法:
proxy_ssl_verify on;proxy_ssl_trusted_certificate /etc/ssl/certs/ca-certificates.crt;(或使用权威 CA 包) - 若后端使用私有 CA,需将该 CA 的根证书合并进 trusted_certificate 文件
- 配合
proxy_ssl_protocols TLSv1.2 TLSv1.3;和proxy_ssl_ciphers统一控制内网 TLS 行为


















