如何让HTTP / 2与AWS ALB和Tomcat 9一起工作

所以我很难让HTTP / 2与更新版本的AWS Application Load Balancer和Tomcat 9一起工作。我将<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />到我的连接器上tomcat(标准未encryption的8080连接器)。 当我通过LB打我的网站,我看到根据Chrome使用h2协议,但是当我看我的访问日志,似乎一切都最终使用HTTP1.1 10.0.3.103 - - [04/Nov/2016:01:23:47 +0000] "GET /login.html HTTP/1.1" 200 4916

  <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" > <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> </Connector> 

我试图确保一切正常运行,从我所看到的我猜测LB只是处理一切为H2,然后将其转换回http 1.1在后端明显不是什么我在找。

只是为了澄清,LB是我的TLS集中器,连接到我的后端服务器是不安全的。

ELB在beanstalk环境中与您的ec2实例上的代理进行对话。 与tomcat你得到httpd。 它看起来像在这一点上mod_http2不支持/包括在aws的linux映像中。

如果mod_http2出现,所需的configuration将如下所示

 LoadModule http2_module modules/mod_http2.so <IfModule http2_module> LogLevel http2:info </IfModule>