我使用 SLES 和 OS X 重复了以下操作。我编译了 apache 2.4.18、nghttp2-1.8.0 和 OpenSSL 1.0.2g,并使用了最近构建的 curl 版本,看起来一切正常。
curl https://macbookpro.xxxx/ --cacert /usr/local/apache2/conf/ssl/server.crt --verbose
上面的输出显示了连接升级到 http/2 和 Apache 访问日志报告:
192.168.0.1 - - [20/Mar/2016:15:12:05 +0000] "GET / HTTP/2" 200 45
证书链都是本地生成的。使用根证书、中间证书和服务器证书以及以下命令报告一切正常
openssl s_client -connect macbookpro:443 -CAfile /usr/local/apache2/conf/ssl/server.crt
但是我无法让我的任何浏览器 Safari/Firefox 或 Chrome 使用 http/2。
- Firefox 45.01(带有 spdy 指示器扩展)
- Safari 6.2.8 (8537.85.17.9.1)
- 谷歌浏览器 49.0.2623.87(64 位)
该页面显示正常,但 Firefox 的 spdy 指示器扩展没有显示任何内容。访问记录所有报告 HTTP/1.1 连接。如何让 http2 正常工作?