我有一台设置为使用 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 service apache2 restart
然而当我去https://tools.keycdn.com/http2-test测试时出现错误:
HTTP/2 测试结果 www.clearvision-cm.com
否定!www.clearvision-cm.com 不支持 HTTP/2.0。不支持 ALPN。
请您帮忙解释一下出了什么问题?
答案1
经过大量的研究和调试,我最终得出结论:http2 由于处于“实验阶段”,因此在 Ubuntu 16 中不受支持。以下内容来自发布说明:
Apache httpd 中的 HTTP/2 支持
Apache httpd 上游项目将 HTTP/2 支持视为一项实验性功能,因此我们认为它不适合或无法在该 LTS 版本的 5 年支持期内进行维护。因此,我们的 Apache httpd 版本不提供 HTTP/2 支持。
我们期望在 Apache httpd 上游认为此支持是非实验性的之后发布启用 HTTP/2 支持的稳定版本更新,尽管这将取决于我们对当时现有 Xenial 用户的回归风险的评估。