# Nginx 1.9.11 and OpenSSL 1.0.2G - HTTP2, but no ALPN negotiated

**URL:** <https://www.ruby-forum.com/t/nginx-1-9-11-and-openssl-1-0-2g-http2-but-no-alpn-negotiated/244192>\
**Category:** NGINX\
**Created:** [March 3, 2016, 1:32pm UTC](https://www.ruby-forum.com/t/nginx-1-9-11-and-openssl-1-0-2g-http2-but-no-alpn-negotiated/244192 "2016-03-03T13:32:38Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rafa\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/958977/32.png) [@Rafa\_F](https://www.ruby-forum.com/u/Rafa_F)\
**Post date:** [March 3, 2016, 1:32pm UTC](https://www.ruby-forum.com/t/nginx-1-9-11-and-openssl-1-0-2g-http2-but-no-alpn-negotiated/244192/1 "2016-03-03T13:32:38Z")

</div>

I have Ubuntu 14.04 with OpenSSL 1.0.2G,

Upgraded to Nginx 1.9.11 mainline (PPA) from 1.8.1 stable, because  
Chrome  
will drop SPDY in a few months. Better be prepared.

Everything went fine, but when I test HTTP2 I notice that ALPN doesn’t  
work:

No ALPN negotiated

Since I have the latest version of OpenSSL, I have no idea why this is  
the  
case.

Posted at Nginx Forum:

> **[Nginx 1.9.11 and OpenSSL 1.0.2G - HTTP2, but no ALPN negotiated.](https://forum.nginx.org/read.php?2,265036,265036#msg-265036)**
>
> I have Ubuntu 14.04 with OpenSSL 1.0.2G, Upgraded to Nginx 1.9.11 mainline (PPA) from 1.8.1 stable, because Chrome will drop SPDY in a few months. Better be prepared. Everything went fine, but when I test HTTP2 I notice that ALPN doesn't work: No...

---

<div class="post-metadata">

**Author:** ![dannydekr](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/7feea3/32.png) [@dannydekr](https://www.ruby-forum.com/u/dannydekr)\
**Post date:** [March 3, 2016, 1:44pm UTC](https://www.ruby-forum.com/t/nginx-1-9-11-and-openssl-1-0-2g-http2-but-no-alpn-negotiated/244192/2 "2016-03-03T13:44:54Z")

</div>

Hi,

On Ubuntu 14.04 NGINX is built with OpenSSL 1.0.1 so is not built with  
ALPN support. If you have installed OpenSSL 1.0.2 you can recompile  
NGINX to use this and gain the ALPN support.

In most cases HTTP/2 with NPN in OpenSSL 1.0.1 will work for now.

Kind Regards  
Andrew

On 03/03/16 12:32, dannydekr wrote:

> Since I have the latest version of OpenSSL, I have no idea why this is the  
> case.
> 
> Posted at Nginx Forum:  
> [https://forum.nginx.org/read.php?2,265036,265036#msg-265036](https://forum.nginx.org/read.php?2,265036,265036#msg-265036)
> 
> * * *
> 
> nginx mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [mailman.nginx.org archive](http://mailman.nginx.org/mailman/listinfo/nginx)

–  
Andrew H. (LinuxJedi)  
Technical Product Manager, NGINX Inc.

---

<div class="post-metadata">

**Author:** ![dannydekr](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/7feea3/32.png) [@dannydekr](https://www.ruby-forum.com/u/dannydekr)\
**Post date:** [March 3, 2016, 5:00pm UTC](https://www.ruby-forum.com/t/nginx-1-9-11-and-openssl-1-0-2g-http2-but-no-alpn-negotiated/244192/3 "2016-03-03T17:00:37Z")

</div>

Hello,

“In most cases HTTP/2 with NPN in OpenSSL 1.0.1 will work for now.”,  
yes,  
for now, sadly Google will remove the NPN support in Chrome “soon”: “We  
plan  
to remove support for SPDY in early 2016, and to also remove support for  
the  
TLS extension named NPN in favor of ALPN in Chrome at the same time.  
Server  
developers are strongly encouraged to move to HTTP/2 and ALPN.”.  
Source: [Chromium Blog: Hello HTTP/2, Goodbye SPDY](http://blog.chromium.org/2015/02/hello-http2-goodbye-spdy.html)

Thats why we all have to hurry the migration to ALPN by compiling nginx  
with  
OpenSSL 1.0.2 or LibreSSL.

PS : I can’t find a good reason for Google to drop support for NPN right  
now… it feels like last year, when they wanted to drop support of SPDY  
in  
Chrome when HTTP/2 was barely standardized and no major web server was  
HTTP/2 ready.

Best Regards

Posted at Nginx Forum:

> **[Re: Nginx 1.9.11 and OpenSSL 1.0.2G - HTTP2, but no ALPN negotiated.](https://forum.nginx.org/read.php?2,265036,265048#msg-265048)**
>
> I have Ubuntu 14.04 with OpenSSL 1.0.2G, Upgraded to Nginx 1.9.11 mainline (PPA) from 1.8.1 stable, because Chrome will drop SPDY in a few months. Better be prepared. Everything went fine, but when I test HTTP2 I notice that ALPN doesn't work: No...

---

<div class="post-metadata">

**Author:** ![dannydekr](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/7feea3/32.png) [@dannydekr](https://www.ruby-forum.com/u/dannydekr)\
**Post date:** [March 3, 2016, 5:31pm UTC](https://www.ruby-forum.com/t/nginx-1-9-11-and-openssl-1-0-2g-http2-but-no-alpn-negotiated/244192/4 "2016-03-03T17:31:35Z")

</div>

Hello,

> Thats why we all have to hurry the migration to ALPN by compiling nginx with  
> OpenSSL 1.0.2 or LibreSSL.
> 
> PS : I can’t find a good reason for Google to drop support for NPN right  
> now… it feels like last year, when they wanted to drop support of SPDY in  
> Chrome when HTTP/2 was barely standardized and no major web server was  
> HTTP/2 ready.

If you need http2 there is always the option to compile your own nginx  
binary against a more modern version of OpenSSL than what your operating  
system provides, or to change operating systems to one which provides  
such an OpenSSL version.

Jim

---

<div class="post-metadata">

**Author:** ![dannydekr](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/7feea3/32.png) [@dannydekr](https://www.ruby-forum.com/u/dannydekr)\
**Post date:** [March 3, 2016, 5:47pm UTC](https://www.ruby-forum.com/t/nginx-1-9-11-and-openssl-1-0-2g-http2-but-no-alpn-negotiated/244192/5 "2016-03-03T17:47:21Z")

</div>

Hello,

## Jim O. Wrote:

> If you need http2 there is always the option to compile your own nginx  
> binary against a more modern version of OpenSSL than what your  
> operating system provides, or to change operating systems to one which  
> provides such an OpenSSL version.

Yes, it’s what I’m doing with LibreSSL 🙂

But HTTP/2 works also very well with NPN and OpenSSL 1.0.1… sadly  
it’ll be  
less useful when Google would have dropped support for NPN.

Best Regards

Posted at Nginx Forum:  
[https://forum.nginx.org/read.php?2,265036,265054#msg-265054](https://forum.nginx.org/read.php?2,265036,265054#msg-265054)

---

<div class="post-metadata">

**Author:** ![dannydekr](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/7feea3/32.png) [@dannydekr](https://www.ruby-forum.com/u/dannydekr)\
**Post date:** [March 4, 2016, 11:56pm UTC](https://www.ruby-forum.com/t/nginx-1-9-11-and-openssl-1-0-2g-http2-but-no-alpn-negotiated/244192/6 "2016-03-04T23:56:31Z")

</div>

Hello,

Great, thanks Andrew!

Best Regards

Posted at Nginx Forum:

> **[Re: Nginx 1.9.11 and OpenSSL 1.0.2G - HTTP2, but no ALPN negotiated.](https://forum.nginx.org/read.php?2,265036,265115#msg-265115)**
>
> I have Ubuntu 14.04 with OpenSSL 1.0.2G, Upgraded to Nginx 1.9.11 mainline (PPA) from 1.8.1 stable, because Chrome will drop SPDY in a few months. Better be prepared. Everything went fine, but when I test HTTP2 I notice that ALPN doesn't work: No...

---

<div class="post-metadata">

**Author:** ![dannydekr](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/7feea3/32.png) [@dannydekr](https://www.ruby-forum.com/u/dannydekr)\
**Post date:** [March 3, 2016, 7:59pm UTC](https://www.ruby-forum.com/t/nginx-1-9-11-and-openssl-1-0-2g-http2-but-no-alpn-negotiated/244192/7 "2016-03-03T19:59:23Z")

</div>

Hi,

This link was also shown to me today. I have contacted Google to ask  
them to reverse the decision to drop NPN HTTP/2.

Kind Regards  
Andrew

On 03/03/16 16:00, Alt wrote:

> OpenSSL 1.0.2 or LibreSSL.
> 
> * * *
> 
> nginx mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [mailman.nginx.org archive](http://mailman.nginx.org/mailman/listinfo/nginx)

–  
Andrew H. (LinuxJedi)  
Technical Product Manager, NGINX Inc.
