Apache HTTP/2 连接不是持久的

Apache HTTP/2 连接不是持久的

因此我决定通过 Apache mod_http2 实现 HTTP/2。它运行良好,但是每次请求,除了间隔不到 1 秒的,是非持久性的。我确信这一点,因为根据浏览器的网络工具,SSL 连接每次都会重新初始化:

在此处输入图片描述

然而,通过 HTTP/1.1 访问同一页面会遵守服务器的 25 秒保持活动设置并保持连接持久:

在此处输入图片描述

服务器上运行的软件:

Server Version: Apache/2.4.33 (cPanel) OpenSSL/1.0.2o mod_bwlimited/1.4
Server MPM: event
PHP version: PHP 7.0.29 (cli)
PHP handler: PHP-FPM

那么问题是,为什么 HTTP/2 在每个后续请求上都会启动新的 SSL 连接?据我所知,它的全部重点应该是使用持久连接,但事实并非如此。还是我在这里遗漏了什么?

任何指点都将不胜感激。谢谢。

答案1

在我看来,这是一个错误,从 mod_http2 1.10.16 开始(与 Apache 2.4.30 一起发布 - 尽管存在一些问题,因此它实际上直到 2.4.33 才发布)。在此版本之前,它按预期运行。

已向 mod_http2 作者提出此问题:https://github.com/icing/mod_h2/issues/160

该问题很快得到修复,并随后包含在下一个 Apache 版本(2018 年 7 月 16 日发布的 2.4.34)中。

相关内容