首页/安全/加密与证书速查/多实例环境下的会话恢复一致性
本包目录(305 条)
加密算法基础95 条
TLS 与 HTTPS60 条
证书与 PKI30 条OpenSSL 实战30 条证书运维排查49 条密钥管理41 条

多实例环境下的会话恢复一致性

集群里会话票据密钥或缓存不共享时,同一客户端从不同实例恢复会失败并回退完整握手,表现为随机变慢;解决方式是共享票据密钥或集中缓存。

加密与证书速查安全更新于 2026-10-12
Session Ticket密钥需在所有实例一致:用相同文件同步加载并定期轮换
Session ID 缓存ssl_session_cache 是各实例本地内存,跨实例无效,可配合一致性哈希
观察同一客户端反复访问时握手耗时忽高忽低
轮换先增加新密钥再移除旧密钥,保证存量票据仍可解开

观察连接复用情况

观察连接复用情况
openssl s_client -connect example.com:443 -servername example.com -reconnect </dev/null 2>&1 | grep -E 'New|Reused' | head -8

nginx 多实例共享票据密钥

nginx 多实例共享票据密钥
ssl_session_tickets on;
ssl_session_ticket_key /etc/nginx/ticket.key.current;
ssl_session_ticket_key /etc/nginx/ticket.key.previous;
票据密钥泄露会使相关会话可被解密,密钥文件权限与分发渠道要与私钥同级管理。

易错点

  • 每台机器各自生成票据密钥,部署看似成功但恢复率极低
  • 轮换时直接替换文件而未保留旧密钥,导致在途票据全部失效

数据来源与参考

  • nginx 官方文档(ssl_session_ticket_key)
  • RFC 5077(会话票据)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌