我试图让 h2 (HTTP/2) 在我的网络服务器上工作。通过“ondrej”存储库安装了 Apache 2.4.20。我在 Debian 8 和 Ubuntu 14.04 服务器上进行了测试,但我一直遇到同样的问题。我正在运行 OpenSSL 1.0.2 和 SSL 虚拟主机。
奇怪的是升级标头(连接:升级和升级:h2)被发送。当我进行一些外部服务器测试时,我得到了 h2 在 ALPN 支持下正常运行的响应。但问题是我测试的浏览器(Win7 上的 Chrome 和 FireFox)不会升级到 h2。
我注意到缺少的一件事是 HTTP/2-Settings 标头,但是我在任何 Apache 文档中都找不到任何内容来实现此功能或强制 Apache 发送此标头。
遗憾的是我无法使用 cUrl 进行测试,因为我可以访问的服务器不支持任何支持 HTTP/2 的版本。
我的 SSL 虚拟主机设置:
Protocols h2 http/1.1
SSLEngine On
SSLCACertificateFile xxxxxxxx
SSLProtocol all -SSLv2 -SSLv3
SSLCompression Off
SSLHonorCipherOrder On
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RSA+AES RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4 !AES128"
Header always set Strict-Transport-Security "max-age=15552000;includeSubDomains"
SSLCertificateFile xxxxxxxx
SSLCertificateKeyFile xxxxxxxx
我正在使用 prefork 模块而不是工人运行 Apache。
谁能告诉我怎么了?