From: Luca Toscano This module requires the service of Thus, in order to get the ability of handling HTTP/2 proxy requests,
+ This module requires the service of SourceĀ File: mod_proxy_http2.c Summary
- mod_proxy. It provides the features used for
- proxying HTTP/2 requests. mod_proxy_http2
- supports HTTP/2 only. It does not
- provide any downgrades to HTTP/1.1.mod_proxy_http2
+ supports HTTP/2 only, it does not
+ provide any downgrades to HTTP/1.1. This means that the backend
+ needs to support HTTP/2 because HTTP/1.1 will not be used instead.mod_proxy, so in order to get the ability of
+ handling HTTP/2 proxy requests,
mod_proxy and mod_proxy_http2
- have to be present in the server.
mod_proxy_http2 works with incoming requests
- over HTTP/1.1 and HTTP/2 requests. In both cases, requests proxied
- to the same backend are sent over a single connection
+
mod_proxy_http2 works with incoming fronted requests
+ using HTTP/1.1 or HTTP/2. In both cases, requests proxied
+ to the same backend are sent over a single TCP connection
whenever possible (namely when the connection can be re-used).
mod_proxy_http2 will not use the HTTP/2 protocol
- when the frontend requests use HTTP/1.1.
- This means that HTTP/2 will be used to proxy requests to a capable backend
- only when the frontend requests use the same protocol.
Caveat: there will be no attemp to consolidate multiple HTTP/1.1 + frontend requests (configured to be proxied to the same backend) + into HTTP/2 streams belonging to the same HTTP/2 request. + Each HTTP/1.1 frontend request will be proxied to the backend using + a separate HTTP/2 request (trying to re-use the same TCP connection + if possible).
This module relies on libnghttp2 to provide the core http/2 engine.