我正在尝试使用 Apache 设置 mod_spdy(Debian Wheezy 上的 mod_spdy-0.9.4.3-r420 和 apache2-2.2.22-13+deb7u3)。据我所知,一切都正常,但我收到了“SSL/TLS 握手中缺少 NPN 扩展”错误http://spdycheck.org/。
mods-enabled/ssl.load
只包含:(其他内容均已注释掉)
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl_with_npn.so
我可以通过 lsof 确认这是 apache 目前正在使用的文件。
有没有线索表明为什么 SSL 不执行 NPN 操作,以便 mod_spdy 可以工作?
我有另一个盒子,在这方面配置似乎完全相同,而且工作正常。我猜我遗漏了一些不同的细节 :-/
答案1
我弄清楚了问题所在。出于某种原因,Apache 被设置为仅使用 SSL3。添加 TLS v1(以及 v1.1、v1.2)使一切正常。SPDY 需要 TLS 才能工作。我更改了我的 Apache 配置,使其
SSLProtocol +SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2
这非常有效。
更好的是,完全放弃 SSLv3,因为它已知是不安全的:
SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2