我们在Ubuntu 12.04上运行Apache 2.2.22。
在/etc/apache2/mods-enabled/ssl.confconfiguration和启用SSL:
SSLSessionCache shm:/var/www/apache-ssl-cache/ssl_scache(512000) SSLSessionCacheTimeout 300 SSLMutex file:/var/www/apache-ssl-cache/ssl_mutex
SSL似乎工作。 我们可以通过HTTPS访问站点,即使在Windows XP上的IE8也是如此。 但是,我们不确定SSL会话caching实际上是否正常工作。
我们在虚拟主机的日志中看到了很多这些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播种也似乎经常发生。 不幸的是,似乎不可能确切地告诉哪个分叉阿帕奇subprocessPRNG被种子:
[info] Seeding PRNG with 656 bytes of entropy
那么这些消息指示SSL会话caching不工作(跨分叉的Apachesubprocess)?
编辑
我发现各种网站提到使用openssl s_client -reconnect或gnutls-cli -Vr来testingSSL会话caching。 我相信他们只回答了部分问题:因为两个程序断开连接然后重新连接,他们只确认SSL会话被caching并且可以被顺序重用,但是他们不检查caching的SSL会话是否可以被多个分叉的服务器,到同一个客户端。 当从HTTPS网站获取资源时,这实际上是现代浏览器的典型使用场景)。
为了检查caching的SSL会话是否可以同时使用,在使用相同的SSL会话ID /密钥打开下一个SSL会话之前,必须先closures第一个testing连接。 不幸的是,两项效用似乎都没有这样的select。
您可以使用其中一个SSL分析站点(例如Qualys的SSL服务器testing )进行确认。 查找“会话恢复testing”的结果:如果它显示“是”,您的会话caching正在工作。