Ubuntu 12.04 で Apache 2.2.22 を実行しています。
SSL は、次のディレクティブを使用して構成され、有効化されています/etc/apache2/mods-enabled/ssl.conf
。
SSLSessionCache shm:/var/www/apache-ssl-cache/ssl_scache(512000)
SSLSessionCacheTimeout 300
SSLMutex file:/var/www/apache-ssl-cache/ssl_mutex
SSL は機能しているようです。Windows XP の IE8 でも、HTTPS 経由でサイトにアクセスできます。ただし、SSL セッション キャッシュが実際に正しく機能しているかどうかはわかりません。
仮想ホストのログには、次のような INFO レベルのメッセージが多数表示されます。
[info] [client <censored>] (70007)The timeout specified has expired: SSL input filter read failed.
または
[info] [client <censored>] (70014)End of file found: SSL input filter read failed.
または
[info] [client <censored>] (70014)End of file found: SSL handshake interrupted by system [Hint: Stop button pressed in browser?!]
PRNG のシードもかなり頻繁に行われているようです。残念ながら、どのフォークされた Apache 子プロセスに対して PRNG がシードされているかを確実に判断することは不可能のようです。
[info] Seeding PRNG with 656 bytes of entropy
これらのメッセージは、SSL セッション キャッシュが機能していないことを示しているのでしょうか (フォークされた Apache 子プロセス全体にわたって)?
編集
openssl s_client -reconnect
SSLセッションキャッシュのテストにまたはの使用gnutls-cli -Vr
について言及しているサイトをいくつも見つけました。これらのサイトは質問の一部しか答えていないと思います。なぜなら、どちらのプログラムも切断する再接続すると、SSLセッションがキャッシュされ、再利用できることを確認するだけです。順次しかし、キャッシュされたSSLセッションが使用できるかどうかは確認されない。同時に複数のフォークされたサーバーから同じクライアントに送信されます。これは、HTTPS ウェブサイトからリソースを取得する場合の最新のブラウザーでの一般的な使用シナリオです。
キャッシュされた SSL セッションを同時に使用できることを確認するには、同じ SSL セッション ID/キーを使用して次の接続を開く前に、最初のテスト接続を閉じてはなりません。残念ながら、どちらのユーティリティにもそのようなオプションはないようです。
答え1
SSL分析サイト(例:Qualys の SSL サーバー テスト)。「セッション再開テスト」の結果を確認します。「はい」と表示されている場合、セッション キャッシュは機能しています。