Nginxを使用しており、SSLセッションの再開を実装したい。それが機能しているかどうかをどのようにテストすればよいですか?
これらの設定を有効にしました:
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ローカルでテストする方法はわかりませんが、サイトが公開されている場合、ssllabsは素晴らしいテストツールを提供します。
Opensslを使用してローカルでテストできます。
openssl s_client -connect example.com:443 -reconnect -no_ticket
または:
openssl s_client -connect example.com:443 -no_ticket -sess_out /tmp/ssl_s
openssl s_client -connect example.com:443 -no_ticket -sess_in /tmp/ssl_s
(-no_ticket
オプションは クライアント側のTLSセッションチケット を無効にするために必要です。これにより、セッションの再開も許可されますが、_ 別の設定 がnginx
にあり、テストを サーバー側のSSLセッションキャッシュ OPの構成コントロール。)
最初のコマンドでは、次のような出力が得られます。
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
ハンドシェイクが新しいときは、もっと大きくなっていることがわかります。