Apache HTTP2 with Tomcat AJP



我在Tomcat中设置了以下AJP连接器:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

然后,Apache处理TLS。但是我想启用HTTP/2,所以我在Apache .conf文件中尝试了这个:

Protocols h2 http/1.1

Firefox 和我自己的速度测试表明,该连接仍在 http/1.1 下运行。

如果我放弃 Apache 并直接使用 Tomcat:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
               maxThreads="150"
               SSLEnabled="true"
               compression="on" >
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig>
            <Certificate certificateKeyFile="private.key"
                         certificateFile="public.pem"
                          />
        </SSLHostConfig>
    </Connector>

速度提升是显着的,Firefox报告HTTP/2。

是 AJP 连接器阻止 Apache 提供 HTTP/2,还是我的配置中缺少其他内容?

很高兴继续只使用Tomcat,但我想将两者进行比较。

顺便说一下,APR 的这条日志让我想知道 APR 在这个配置中实际做了多少工作(useAprConnector [false]):

org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]

首先编译 Apache httpd 你必须包含这个 --enable-http2

喜欢这个

sudo ./configure --prefix=/usr/local/apache --enable-http2

在文件 httpd.conf 中,您必须添加此行

Protocols h2 h2c http/1.1

apache httpd 通过 AJP 端口使用 HTTP 2.0,tomcat 也使用 http 2.0

这我在httpd 2.0上登录,并通过AJP端口与tomcat通信

最新更新