ssl_session_cache
指令 `ssl_session_cache` 为 SSL 会话参数设置缓存,以加快 SSL 握手。 — NGINX HTTP Core
ssl_session_cache
httpserver
语法ssl_session_cache shared: | none;
默认值none
上下文http, server
模块NGINX HTTP Core
参数1-2
说明
NGINX 中的 `ssl_session_cache` 指令指定用于缓存 SSL 会话参数的机制,通过减少建立 SSL 连接的开销来提高性能。通过缓存 SSL 会话,客户端可以在不完成完整 SSL 握手的情况下恢复连接,从而加快过程,尤其对重复访问的用户更为显著。该指令可以在 `http` 和 `server` 上下文中配置,允许根据不同服务器或位置上应用 SSL 的方式灵活设置。 `ssl_session_cache` 的语法允许一个或两个参数:缓存类型和可选的缓存大小。缓存类型可以是 `shared` 或 `none`,其中 `shared` 表示缓存可被多个工作进程共享。如果指定,大小控制缓存中存储的会话参数的最大数量,这会显著影响内存使用和容量。该缓存机制的行为受 SSL 会话缓存的大小和管理方式影响,直接关系到最终用户的 SSL 连接性能。 当客户端重新连接并提供其会话 ID 时,NGINX 可以在会话尚未过期的前提下快速检索已缓存的会话参数,从而使服务器跳过建立新会话时耗费大量计算的步骤。这在高流量场景中特别有益,因为降低 SSL 连接的延迟至关重要。
配置示例
http {
ssl_session_cache shared:SSL:10m;
}⚠
确保缓存大小与您的流量相匹配;大小过小可能导致频繁的缓存逐出。
⚠
如果使用多个 server blocks,当需要在 origin servers 之间共享会话时,确保它们使用相同的 named cache。