Apache mod_proxy与Tomcat 8.5使用http2

是否有可能在Apache Tomcat 8.5之前使用http2协议使用mod_proxy ? 如果是的话,将会很高兴看到一个示例configuration。

编辑

特别是:是否有可能并build议在客户端和服务器之间使用http2( Apache httpd ),并在Apache httpdApache Tomcat之间使用ajp 继续数据stream?

编辑2

这个答案提供了一些有关该主题的细节:

https://stackoverflow.com/questions/35697681/can-we-use-apache-to-deliver-http-2-connection-for-a-java-application-server

Apache httpd增加了2.4.21的HTTP / 2代理支持,但是build议你运行最新的版本(在编写的时候是2.4.27),因为这个模块目前还在变化很多。

Tomcat刚刚在Tomcat 9中添加了HTTP / 2支持: https : //readlearncode.com/configure-tomcat-9-for-http2/

所以从理论上讲,如果你愿意升级到这些版本(并且安装HTTP / 2所需的OpenSSL 1.0.2或更高版本),那么它们应该很好地融合在一起。

然而在实践中,它仍然是非常新的,所以错误是可能的。 坦率地说,HTTP / 2最大的收益是低延迟连接,如客户端到服务器。 服务器到服务器连接,如使用mod_proxy的Apache到Tomcat将看到较less的收益。

所以,鉴于这些新function,您可能希望在Apache Web服务器(或任何其他支持HTTP / 2的Web服务器)上使用HTTP / 2,并使用mod_proxy通过HTTP / 1.1或ajp连接到Tomcat。 这将为您提供HTTP / 2的大部分性能提升,而无需将所有内容升级到完全端到端HTTP / 2的麻烦和风险。

截至2017年7月,Apache mod_proxy不支持HTTP / 2.0协议。 有一个mod_proxy_http2 1模块,但它仍然是实验性的。

像在第二次编辑中提供的StackOverflow答案中详细描述的那样,可以使用mod_http2在Apache端启用HTTP / 2.0支持,并使用HTTP / 1.1或AJP与Tomcat服务器进行通信。 但是你会失去HTTP / 2.0最大的特性之一:多路复用。