Welcome to Centmin Mod Community
Register Now

Nginx Nginx - Support for HTTP/2 Server Push

Discussion in 'Nginx and PHP-FPM news & discussions' started by buik, Apr 29, 2016.

  1. anthony parsons

    anthony parsons Member

    77
    20
    8
    Feb 12, 2017
    Ratings:
    +24
    Local Time:
    1:48 PM
    Current yum stable
    10.1
    Cloudflare does support push... as discussed above. You have to simply tell them which files to push.
     
  2. buik

    buik Well-known Member Premium Member

    1,239
    333
    83
    Apr 29, 2016
    Ratings:
    +986
    Local Time:
    3:48 AM
    My post is about Cloudflare's patch to support http2 server push to Nginx, as it is not supported by Nginx vanilla. Not about Cloudflare services.
     
    • Like Like x 1
  3. eva2000

    eva2000 Administrator Staff Member

    43,079
    9,781
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +15,100
    Local Time:
    12:48 PM
    Nginx 1.17.x
    MariaDB 5.5/10.x
    Yeah this thread is about getting such support in nginx itself

    Cloudflare hasn't released such a patch yet heh
     
  4. buik

    buik Well-known Member Premium Member

    1,239
    333
    83
    Apr 29, 2016
    Ratings:
    +986
    Local Time:
    3:48 AM
    Yup Cloudflare seems seem to have stopped opensourcing patches 8 months ago, after their dynamic_tls patch.
    My thoughts. Competitors are using Cloudflare's patches, big organisations are using them (Wikipedia etc.)

    And finally too much fuss over Github asking for changes, version updates, can't compile on bla bla and other crap.
    Http2 server push is working fine on Apache and it is one of the eye catchers of http2, so no reason to not develop server push for Nginx. Apart from keeping it exclusive because of money contracts and competitors.
     
    Last edited: Feb 14, 2017
    • Like Like x 1
  5. eva2000

    eva2000 Administrator Staff Member

    43,079
    9,781
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +15,100
    Local Time:
    12:48 PM
    Nginx 1.17.x
    MariaDB 5.5/10.x
    Indeed though question utlimately is why Nginx isn't working on HTTP/2 Server Push themselves ? Though I can probably guess somewhat is due to reliability given how Cloudflare's HTTP/2 Server Push is/isn't working in the real world right now.
     
    • Like Like x 1
  6. anthony parsons

    anthony parsons Member

    77
    20
    8
    Feb 12, 2017
    Ratings:
    +24
    Local Time:
    1:48 PM
    Current yum stable
    10.1
    I think one must remember... http2 is highly experimental still, by both Apache and NGINX, official pages.

    Last I looked, this is the reason why only 11% of the web use it... it isn't stable.
     
  7. eva2000

    eva2000 Administrator Staff Member

    43,079
    9,781
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +15,100
    Local Time:
    12:48 PM
    Nginx 1.17.x
    MariaDB 5.5/10.x
    HTTP/2 is fully stable but depends on web server's implementation. Nginx just released HTTP/2 without HTTP/2 server push that's all. I've been using HTTP/2 on Centmin Mod Nginx since Nginx 1.9.3 via HTTP/2 alpha patches and then Nginx 1.9.5 official stable HTTP/2 support versions :)

    Currently, on Centmin Mod's Nginx 1.11.9 :)

    Though according to W3Techs 11.9% HTTP/2 usage Usage Statistics of HTTP/2 for Websites, February 2017 probably due to some web servers and OSes not supporting OpenSSL 1.0.2+ and ALPN protocol for HTTP/2 support. For example cpanel/WHM Apache HTTPS can't support HTTP/2 as it uses CentOS native OpenSSL library which is OpenSSL 1.0.1e based. All CentOS 5, 6 and 7 native OpenSSL is 1.0.1e. Centmin Mod works around this by bundling OpenSSL 1.0.2 and LibreSSL 2.4/2.5 statically into Nginx compilations so Centmin Mod Nginx has HTTP/2 support :)

    Though interesting fact from W3Techs
    Took just ~16+ months ago HTTP/2 usage was 1.2% and now 11.9% :)

    KeyCDN's HTTP/2 usage reports at 68% though from April 2016 HTTP/2 Statistics - KeyCDN Report on HTTP/2 Distribution

    This forum's own HTTP/2 usage back in Dec 2015 was ~28% https://community.centminmod.com/posts/21430/
     
    Last edited: Feb 14, 2017
    • Like Like x 1
  8. anthony parsons

    anthony parsons Member

    77
    20
    8
    Feb 12, 2017
    Ratings:
    +24
    Local Time:
    1:48 PM
    Current yum stable
    10.1
    Apache http2: mod_http2 - Apache HTTP Server Version 2.4

    Warning
    This module is experimental. Its behaviors, directives, and defaults are subject to more change from release to release relative to other standard modules. Users are encouraged to consult the "CHANGES" file for potential updates.

    NGINX: Module ngx_http_v2_module

    Known Issues

    The module is experimental, caveat emptor applies.

    Both organisations state http2 implementations are experimental. Haven't looked up Microsofts take on this for their minority share in the web... but pretty sure they would be similar.

    I'm not disagreeing that http2 will take off and become the standard... but right now, it is classified as experimental according to the two primary web server software providers. Regardless of personal opinions or usage.
     
  9. eva2000

    eva2000 Administrator Staff Member

    43,079
    9,781
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +15,100
    Local Time:
    12:48 PM
    Nginx 1.17.x
    MariaDB 5.5/10.x
    Nginx doc hasn't been updated probably refers to Nginx 1.9.5. Nginx 1.11.x branch has more refined implementation of HTTP/2 more so than Nginx 1.10.x stable as 1.11.x gets all fixes while 1.10 gets critical fixes only.
     
    • Like Like x 1
  10. eva2000

    eva2000 Administrator Staff Member

    43,079
    9,781
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +15,100
    Local Time:
    12:48 PM
    Nginx 1.17.x
    MariaDB 5.5/10.x
    It could also be experimental in that it ultimately depends on the operating systems support for OpenSSL 1.0.2+ and not all OSes have that support. And also depends on how you enabled SSL support in Nginx. i.e. Centmin Mod Nginx 1.11 supports HTTP/2 HTTPS via the following crypto libraries that end user can choose from
    • OpenSSL 1.0.2+
    • OpenSSL 1.1.0+
    • LibreSSL 2.4.x <- current Nginx 1.11 default
    • LibreSSL 2.5.x
    • BoringSSL in development
     
    • Like Like x 1
  11. anthony parsons

    anthony parsons Member

    77
    20
    8
    Feb 12, 2017
    Ratings:
    +24
    Local Time:
    1:48 PM
    Current yum stable
    10.1
    I don't understand the latest nginx version... having removed all the modules from being available to now having to configure them. I couldn't even get ssl working with it. Argh... went back to the centos yum stable 1.10.2 version.