我有一个设置为使用HTTP2的AWS Ubuntu 16 Apache服务器。 我已经跟着每个教程,他们都说同样的事情:
sudo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/apache2 sudo apt-get update sudo apt-get upgrade sudo a2enmod http2
我的虚拟主机文件:
<VirtualHost *:443> Protocols h2 h2c http/1.1 ServerName clearvision-dev
然后sudo服务apache2重新启动
但是,当我去https://tools.keycdn.com/http2-testtesting我得到的错误:
HTTP / 2testing结果www.clearvision-cm.com
负! www.clearvision-cm.com不支持HTTP / 2.0。 ALPN不受支持。
请你帮忙解释一下是怎么回事?
经过一番荒谬的研究和debugging,我终于得出结论,http2在Ubuntu 16中不被支持,因为它是“实验性”的。 以下是来自relaease的说明:
Apache httpd中的HTTP / 2支持
HTTP / 2支持被认为是Apache httpd上游项目的一个实验性function,所以我们认为这个LTS发行的5年支持期并不适合或可维护。 因此,HTTP / 2支持在我们的Apache httpd版本中不可用。
我们希望在Apache httpd上游认为这个支持是非实验性的之后,发布稳定的版本更新来支持HTTP / 2支持,尽pipe这将取决于我们当时对现有Xenial用户回归风险的评估。