HTTP/2 on the Upstream

Igal @ Lucee.org igal at lucee.org
Wed Apr 12 21:13:45 UTC 2017


Thank you, Maxim and Valentin, for your prompt replies.  I will reply 
here to both so that we can maintain a single thread for this issue:

On 4/12/2017 12:57 PM, Valentin V. Bartenev wrote:

> Server Push doesn't require HTTP/2 from the Upstream side.  Moreover,
> upstream usually don't have access to the static resources that are
> served directly from nginx.

On 4/12/2017 12:59 PM, Maxim Dounin wrote:
> There is nothing to stop a backend from performing a push based on
> the knowledge.  It's just a matter of providing upstream servers
> with a way to push resources, e.g., via something like the
> X-Accel-Push header or something like this.  This doesn't need
> HTTP/2 between nginx and upstream servers.
>
> Moreover, using HTTP/2 with ability to push things will likely be
> a problem here, as in most cases dynamic pages are generated
> separately from static assets.  Using nginx to do the actual
> push is likely to be much more optimal here.

These are both good points, but it is my understanding that the server 
that Pushes the resources needs to know which resources need to be 
pushed, is that not the case?

If my Upstream (Tomcat, for example) generates a dynamic page for the 
client, then it can keep track of all of the images on that page and 
then push them.  How can the Upstream "tell" nginx what to Push?

Please watch the clip at https://youtu.be/QpLtBftqM04?t=34m51s until 
about 36m12s where Simone Bordet, a Jetty developer, claims that HA 
Proxy is a better proxy solution than nginx because it talks HTTP/2 to 
the Upstream.

Also please note that the Servlet 4.0 specification plans to add a 
Push() API to push resources to the clients.  If nginx doesn't use 
HTTP/2 to talk to my Servlet engine (Tomcat, Jetty, etc.), this 
functionality will not be available as the Servlet engine will treat the 
request as an HTTP/1.

On 4/12/2017 12:59 PM, Maxim Dounin wrote:
> The actual answer was "Now you can't configure HTTP/2 with
> proxy_pass...", see here:
>
> https://youtu.be/4OiyssTW4BA?t=14m34s
>
> The transcript needs to be fixed, thanks.

Well noted, thanks for clarifying.


Igal Sapir
Lucee Core Developer
Lucee.org <http://lucee.org/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20170412/949f1fe3/attachment.html>


More information about the nginx mailing list