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/>

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to