Nginx ssl_session_cache none 解释

Nginx ssl_session_cache none explanation

Nginx默认配置ssl_session_cachenone是什么意思?如果我使用 openssl reconnect 来测试它,它说连接被重用。由于服务器在 ssl_session_cache=none 的情况下不存储任何会话信息,因此会话重用如何工作?

正如您所指出的,ssl_session_cache 的 nginx 默认值是 none。意思是

the use of a session cache is gently disallowed: nginx tells a client that sessions may be reused, but does not actually store session parameters in the cache.

会话可以通过 session_id 在 nginx 服务器 ssl_session_cache 或存储在客户端 中存储会话来重复使用 方使用 TLS session tickets, which are enabled in nginx via the ssl_session_tickets settingssl_session_tickets 的默认值是 on,这允许您的 openssl 客户端使用保存的会话票证重用会话,这就是您的 openssl 客户端能够重用的方式TLS 会话,即使会话缓存已禁用。

使用

openssl s_client -connect example.com:443 -reconnect -no_ticket

禁用 openssl 客户端使用会话票证并仅测试 nginx 的会话缓存恢复功能。