HTTP/2 on website created with ee create example.com --wpfc?

Could anyone please point me a detailed tutorial or row instructions on how to set up HTTP/2 with Nginx on a website created with EE command ee create example.com --wpfc?

The website is already set up with SSL certificate. I’ve just came through the Docs for “HTTP/2” support here https://easyengine.io/docs/http2-support/

I’ve followed its instructions, remove nginx and tried to install --nginxmainline but command ee stack install --nginxmainline does not work!!

I’ve also tried to manually set it up by following this https://www.nginx.com/blog/nginx-1-9-5/ with no avail.

I’d really appreciated any help regarding this issue.

@monecchi – From what I recall I just had to do this: How to get nginx mainline working with EasyEngine.

After I simply ran service nginx restart and tested on https://tools.keycdn.com/http2-test.

Best of luck, cheers!

1 Like

I don’t think you even need nginxmainline any more.

I have been getting HTTP/2 verifications from https://tools.keycdn.com/http2-test on my websites, without a separate --nginxmainline installation.

Thanks for the inout. That’s good to hear that. I’ll keep watching for EE Docs & Tutorial updates.

Thanks for pointing it out. I’ve followed the WordPress-Nginx + Comodo SSL Setup Tutorial. So far the SSL set up is working great, which by the way is a mandatory requirement for those willing to tap HTTP/2.0.

The article HTTP/2 support5 in the DOCS, has no use for me, so not sure what to do within my EE website installation regarding HTTP/2 support.

I’ve also tried what you describe in your comment, but after restating Nginx and making a CURL request to my domain it still returns HTTP/1.0.

I’ll keep watching it, perhaps it’s not the right moment yet to put it in action on my website. I’m developing a WordPress + Woocommerce shop powered by EE create --wpfc. So I think its better not to mess up the server’s stuff which are working great so far. Thanks for your help!

@monecchi

Several things:

  1. Not every version of curl supports HTTP/2. Secondly, if yours does you need to specify this in your curl command. curl --http2 https://domain.com

  2. What does https://tools.keycdn.com/http2-test show when you test your domain with it?

  3. Did you confirm that your ssl.conf file for the domain you want to use HTTP/2 shows listen 443 ssl http2;?

Hey @brianjking. That’s a good point about the curl command. My server’s accepts the curl --http2.0 command. I’ve tried both ways actually. I’ll give those tips a try and let you know about the results. Thanks!

Hey @brianjking. Sorry for my absence of belief, I was almost giving it up.

Thank you so much for guiding me in the right direction!

HTTP/2 indeed works without --nginxmainline on latest EE.

Now https://tools.keycdn.com/http2-test validates it just as expected!

All the other stuff regarding the HTTP/2 activation was just fine, no issues. It turns out when reloading nginx I’ve came through a warning related to a duplicate server location directive, so nginx wouldn’t restart and I was actually hitting an old version of my website’s cache in the browser.

I’m so glad it works. Thanks for your time!

Can a version of cURL, known to support HTTP/2 be easily installed (upgraded) if the currently installed version doesn’t support HTTP/2?

My version of cURL (on Debian 8) doesn’t seem to support HTTP/2 and I’d like to use a version that does. I get the curl: (1) Unsupported protocol error, but know my website(s) are already verified to be using HTTP/2.

If anyone is looking for this file, I believe it is located at: /var/www/example.com/conf/nginx/ssl.conf

@monecchi – Not a problem, my pleasure. Often times I find a lot of value in running nginx -t to test the nginx configuration files before attempting to restart and load them in.

Happy this works out for you! :smiley:

1 Like

@bamajr – Yes, the file I’m referencing is located at /var/www/example.com/conf/nginx/ssl.conf.

  • In terms of upgrading cURL on Debian I suggest checking out https://curl.haxx.se/docs/faq.html, this should have some assistance.
  • I know on a Mac I had to override the system installed cURL with Homebrew to get the http/2 support for it.
  • On Windows 10 & Windows Subsystem for Linux (WSL) I believe I had to install cURL through Scoop or Chocolatey, cannot recall at the moment.
1 Like

Thank you. I will check this out.

Yeah, I almost never use cURL on my Mac, so I’ve never given the default cURL install a second glance. Glad to know I can “Homebrew it” though :wink:

Um, Windows? :scream: No thanks! :grin: