最有效提升https性能的手段是在http块中配置共享内存ssl会话缓存,如ssl_session_cache shared:ssl:10m;并配合ssl_session_timeout 10m、tlsv1.2+、前向安全套件及http/2等协同优化。

直接在 http 块中配置共享内存 SSL 会话缓存,是提升 HTTPS 性能最有效、最基础的手段之一。它让客户端复用已建立的安全会话,跳过完整 TLS 握手,大幅降低延迟和 CPU 开销。
启用共享内存会话缓存
这是必须开启的核心配置:
- 在
http块中添加:ssl_session_cache shared:SSL:10m; -
shared:SSL:10m表示创建一个名为SSL、大小为 10MB 的共享内存池 - 10MB 约可缓存 4 万个会话(按每个会话约 256 字节估算),适合日均百万级请求的站点
- 使用共享内存而非每个 worker 独立缓存,避免重复存储、提升复用率
设置合理的会话超时时间
超时太短,复用率低;太长,内存占用高且可能增加安全风险:
- 推荐值:
ssl_session_timeout 10m; - 移动端或长周期访问场景可放宽至
4h,但需结合业务实际评估 - 避免设为默认的
5m(复用率偏低)或超过4h(易占满内存、延长会话泄露窗口)
可选:启用会话票据(Session Tickets)
作为共享缓存的补充,尤其适合多 worker 或集群部署:
- 开启:
ssl_session_tickets on; - 客户端自行保存部分会话状态,服务端压力更小
- 若启用,务必配合密钥轮换保障前向安全:
ssl_session_ticket_key /etc/nginx/ticket.key; - 密钥文件需严格权限控制(如
600),并定期更新
配套关键项不能漏
单独配缓存效果有限,需与以下配置协同生效:
- 强制使用高效协议:
ssl_protocols TLSv1.2 TLSv1.3; - 选用前向安全套件:
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:…; - 监听时启用 HTTP/2:
listen 443 ssl http2; - 确保证书链完整,OCSP Stapling 已开启(进一步减少握手往返)











