Ich verwende nginx und möchte die Wiederaufnahme der SSL-Sitzung implementieren. Wie sollen wir testen, ob es funktioniert?
Ich habe diese Einstellungen aktiviert:
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
Ich bin mir nicht sicher, wie ich lokal testen kann, aber wenn Ihre Site öffentlich ist, bieten ssllabs ein nützliches Testwerkzeug:
Sie können openssl verwenden, um lokal zu testen:
openssl s_client -connect example.com:443 -reconnect -no_ticket
Oder :
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
(Die -no_ticket
Option ist erforderlich , um zu deaktivieren clientseitige TLS - Sitzung Karten , die auch Sitzungswiederaufnahme ermöglichen , ist aber eine andere Einstellung in nginx
und begrenzen den Test auf die serverseitige SSL - Sitzungs - Caching von der Konfiguration steuert der OP.)
Für den ersten Befehl erhalten Sie folgende Ausgabe:
drop connection and then reconnect
CONNECTED(00000003)
---
Reused, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Für den letzten erhalten Sie dies im Falle einer Wiederaufnahme der Sitzung:
SSL handshake has read 142 bytes and written 583 bytes
---
Reused, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
oder dies im Fehlerfall:
SSL handshake has read 5855 bytes and written 722 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384
Sie können sehen, dass der Handschlag viel größer ist, wenn er neu ist.