SSL 세션 재개가 작동 중인지 어떻게 확인해야합니까? 테스트해야합니까? 이 설정을

nginx를 사용하고 있으며 SSL 세션 재개를 구현하려고합니다. 작동하는지 어떻게 테스트해야합니까?

이 설정을 활성화했습니다 :

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


답변

로컬 테스트 방법은 확실하지 않지만 사이트가 공개 된 경우 ssllabs는 훌륭한 테스트 도구를 제공합니다.

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


답변

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 세션 영업 이익의 구성을 제어합니다.)

첫 번째 명령의 경우 다음과 같이 출력됩니다.

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

새로운 핸드 셰이크가 더 큰 것을 볼 수 있습니다.