我应该如何检查SSL会话恢复是否正常工作?

我正在使用nginx,并希望实现SSL会话恢复。 我们应该如何testing它是否工作?

我已启用这些设置:

ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; 

我不确定本地testing的方式,但是如果您的站点是公开的,ssllabs提供了一个很好的testing工具:

https://www.ssllabs.com/ssldb/index.html

你可以使用openssl在本地进行testing:

 openssl s_client -connect example.com:443 -reconnect 

要么 :

 openssl s_client -connect example.com:443 -sess_out /tmp/ssl_s openssl s_client -connect example.com:443 -sess_in /tmp/ssl_s 

对于第一个命令,你会得到这样的输出:

 drop connection and then reconnect CONNECTED(00000003) --- Reused, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256 

最后一个,如果会话恢复,你会得到这个:

 SSL handshake has read 142 bytes and written 583 bytes --- Reused, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256 

或者在失败的情况下:

 SSL handshake has read 5855 bytes and written 722 bytes --- New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384 

新手握手时可以看到更大的握手