我在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通信