2016年10月28日金曜日

【備忘録】SSL Sever Test の Session resumption (caching) を nginx にて Yes にする方法

nginx + LibreSSLでSSL Server TestをA+評価にする にて、SSL Server Testではすでに A+ 評価になっています。しかし人間欲が出るもの、
  • Session resumption (cacheing) : No (IDs assigned but not accepted)
というオレンジ評価が1つ残ったのが気になっていました。
折角なので Yes にしたいものです。

しかしサイトで情報をあさっても、出て来るのは
  • ssl_session_cache shared:SSL:10m;
  • ssl_session_timeout  10m;
の2つの設定をいれておいけば行けるよ!
っていうのばっかりです。 いや、それでもいけないのですが.... さらにディープに調べてみると、
に解決につながる情報を得ました。
でも日本語情報がなさげなので、備忘録としてまとめておきます。

ssl_session_cache shared:SSL:10m; は、 http {} に直接書け!


つまり server {} の外側に書いておけということです。
先程示したフォーラムでの回答を見ると、
===
establishmen/resumption セッションは、 SNI (Server Name Indication) ハンドリングの前に発生する。したがって、SNI のみ対応している server {} の セッションキャッシュ設定は、うまく働かない。

中略

あと後述されている部分では、デフォルト SNI内のセッションキャッシュ設定と、各SNI内のセッションキャッシュ設定が異なる場合もあり、nginx が混乱する場合がある。
===

とまぁようするに、

http{
 ...
 ... 
 ssl_session_cache shared:SSL:10m;
 ...
 server {
   ...
 }

 server {
   ...
 }
}

のように server の外側に設定しておけってことですね。
serverの内側に設定があっても SSL Server Test的には問題ないようです。

これで nginxを reload して、再スキャンしたら


のように、
  • Session resumption (cacheing)   : Yes
とめでたく Yesになったのでした。

2016年10月28日 @kimipooh

0 件のコメント: