我正在使用 nginx,并且想要实现 SSL 会话恢复。我们应该如何测试它是否有效?
我已启用这些设置:
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
Run Code Online (Sandbox Code Playgroud)
Bas*_*rel 26
您可以使用 openssl 在本地进行测试:
openssl s_client -connect example.com:443 -reconnect -no_ticket -servername example.com
Run Code Online (Sandbox Code Playgroud)
-servername
SNI 需要,否则可能会被忽略
或者 :
openssl s_client -connect example.com:443 -no_ticket -sess_out /tmp/ssl_s -servername example.com
openssl s_client -connect example.com:443 -no_ticket -sess_in /tmp/ssl_s -servername example.com
Run Code Online (Sandbox Code Playgroud)
(该-no_ticket
选择需要被禁用客户端TLS会话票据这也允许会话恢复但是不同的设置中nginx
,并限制测试到服务器端SSL会话高速缓存的OP的配置控制。)
对于第一个命令,您将获得如下输出:
drop connection and then reconnect
CONNECTED(00000003)
---
Reused, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Run Code Online (Sandbox Code Playgroud)
对于最后一个,您将在会话恢复的情况下获得此信息:
SSL handshake has read 142 bytes and written 583 bytes
---
Reused, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Run Code Online (Sandbox Code Playgroud)
或者在失败的情况下:
SSL handshake has read 5855 bytes and written 722 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384
Run Code Online (Sandbox Code Playgroud)
你可以看到握手是新的。
Shi*_*ish 10
我不确定在本地测试的方法,但如果您的站点是公开的,ssllabs 提供了一个很好的测试工具:
https://www.ssllabs.com/ssldb/index.html
归档时间: |
|
查看次数: |
15883 次 |
最近记录: |