Hello,
I would like to use HTTP/2 and to fully use its capabilities, it needs ALPN (and not NPN). ALPN is bundled in OpenSSL 1.0.2, but NGINX doesn’t seem to use it. I have upgraded everything and currently I am at NGINX 1.10.0 and OpenSSL 1.0.2h.
http://i.imgur.com/khtNxxy.png
As you can see in the screenshot above, OpenSSL 1.0.2h is indeed installed on the server as is the latest version of NGINX 1.10.0. OpenSSL was already at 1.0.2h when I upgraded from NGINX 1.9 to 1.10.
Any help to get NGINX to use OpenSSL 1.0.2 or how I can enable ALPN would be greatly appreciated.
Thank you!
PS I have no clue on how I could recompile NGINX. I’ve always simply used apt-get install nginx
.
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
My way to have http2 + alpn on https://glavpooltorg.su: Add jessie-backports repository
Install openssl with apt-get
and then rebuild nginx from source “as is”.
This comment has been deleted
Thanks a lot for the this guys, it was super useful! Note that in Ubuntu 16.04 I had to add a few more dependencies to make the script work:
This was on a fresh install.
I took the steps and created an Ansible-galaxy role if anyone is interested in further automating this. I added credits for you guys with links to this thread and the bash script - let me know if you would like me to include anything else in there.
https://github.com/tzumby/nginx-http2
In the future I plan to add a Let’s encrypt role to go along with this.
I took what mrbdmm wrote, and made it into a script to install Nginx, OpenSSL, and ngx_pagespeed from source: https://gist.github.com/AJMaxwell/f6793605068813aae888216b02364d85
I hope it’s as useful to you as it is for me