HTTP/2 Push Nginx module not installed?

Did you manage to install the Nginx Preload module. If you dont mind, would you mind sharing your installation steps?

  1. No need. It’s installed with the ee nginx upgrade
  2. However, it seems that the openSSL version of nginx in the ee installation isn’t high enough (or isn’t upgraded) so http2 is not activated in my case
  3. You can recompile nginx yourself actually, if you want. I don’t want to mess with it right now in production
1 Like

Odd. I am running Ubuntu 16.04. With latest updates (updated 20min ago). Running NGINX 1.14 and openssl 1.1.0. Server is serving HTTP2.

EE V3.8.1

Want to configure PUSH or see if its configured.

You can see it in chrome dev tools. And there are instructions on ee tutorials

Can you link to your site?

Also 1.1.0 is bigger than 1.0.2

Hello @treelicker,

EE 3.8 support HTTP/2 push, I have tried with the new nginx v1.14.0 package and default nginx configuration, and HTTP/2 push is working properly.

But you have to configure list all static assets you want to push in your nginx vhost configuration. For example :

server {


    server_name youdomain.tld   www.youdomain.tld;


    access_log /var/log/nginx/youdomain.tld.access.log ;
    error_log /var/log/nginx/youdomain.tld.error.log;


    root /var/www/youdomain.tld/htdocs;



    index  index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
        http2_push /bootstrap.min.css;
        http2_push /dashboard.css;
    }



    include common/locations.conf;
    include /var/www/youdomain.tld/conf/nginx/*.conf;
}
1 Like
  1. In my case, even HTTP/2 (without push) is not working. I remembered it was working, but not sure

  2. I did as the instructions say before, that’s how I saw that HTTP/2 not working on my side

  3. Can you please check the OpenSSL version of Nginx in your case, please?

In my case, Nginx was built with OpenSSL 1.02g :

nginx version: nginx/1.14.0 (EasyEngine)
built with OpenSSL 1.0.2g-fips  1 Mar 2016 (running with OpenSSL 1.0.2g  1 Mar 2016)
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --add-module=/usr/src/packages/BUILD/debian/modules/headers-more-nginx-module --add-module=/usr/src/packages/BUILD/debian/modules/nginx-auth-pam --add-module=/usr/src/packages/BUILD/debian/modules/nginx-cache-purge --add-module=/usr/src/packages/BUILD/debian/modules/nginx-echo --add-module=/usr/src/packages/BUILD/debian/modules/ngx-fancyindex --add-module=/usr/src/packages/BUILD/debian/modules/nginx-lua --add-module=/usr/src/packages/BUILD/debian/modules/nginx-upload-progress --add-module=/usr/src/packages/BUILD/debian/modules/nginx-upstream-fair --add-module=/usr/src/packages/BUILD/debian/modules/ngx_http_substitutions_filter_module --add-module=/usr/src/packages/BUILD/debian/modules/memc-nginx-module --add-module=/usr/src/packages/BUILD/debian/modules/srcache-nginx-module --add-module=/usr/src/packages/BUILD/debian/modules/HttpRedisModule --add-module=/usr/src/packages/BUILD/debian/modules/redis2-nginx-module --add-module=/usr/src/packages/BUILD/debian/modules/ngx_devel_kit --add-module=/usr/src/packages/BUILD/debian/modules/set-misc-nginx-module

That’s not my case. Perhaps something with Debian? or maybe the upgrade process doesn’t update the built-in openssl?

Seems like I’ll have to recompile it myself

Openssl 1.0.1t is the newest version available from debian repository

https://packages.debian.org/en/jessie/openssl

Thanks. It’s not enough then

I’m trying to compile nginx with the same configuration as EE, but it seems that some modules are missing some external libraries, like lua library, pam lib and more

Does EE download them to some location or simply skips those?

If it’s too much, I understand, I just trying to figure out what’s missing

Yes, you have to download each nginx modules to be able to compile Nginx.
Otherwise you can use my bash script to compile Nginx, it’s almost the same the default nginx-ee with some additional modules and tweaks :

1 Like

I have all the nginx modules, they come with the EE files. But it seems that it’s not enough, because some of them require some other stuff to be installed on the host.

I’ll try your script perhaps

Thanks

There isn’t any nginx module stored in the easyengine repository, the script used to build nginx-ee is available here :

2 Likes

Thanks

There are modules in the file nginx_1.14.0-1ppa~stable.debian.tar.xz here http://download.opensuse.org/repositories/home:/rtCamp:/EasyEngine/Debian_8.0/

But perhaps that’s not enough

I’ll try and see

1 Like

@treelicker Did it work?

I couldn’t.

I’ve tried using Cloudflare HTTP / 2 Push.

But it did not work. :disappointed_relieved:

AFAIK Cloudflare only enables push for Enterprise customers, not in free or low cost plans.

1 Like

@portofacil

On the FREE plane as well.

But it did not work for me.

@robsonwp I don’t want to update nginx now on production. Not worth my time at this point (using CDN for almost everything anyway)

But: Have you tried @virtubox nginx update script? What is your nginx openssl version? (use Nginx -V, with capital “v”)

1 Like

@treelicker nginx version: nginx/1.14.0 (EasyEngine) OpenSSL 1.0.1k 8 Jan 2015 (running with OpenSSL 1.0.1t 3 May 2016) TLS SNI support enabled

I have already updated the NGINX.

I want to enable HTTP / 2 Server Push in WordPress.

But it’s not working. :disappointed_relieved: