No ALPN, only NPN with http2

Synchro nginx-forum at nginx.us
Tue Nov 3 08:57:17 UTC 2015


I'm attempting to deploy http2 with nginx 1.9.6 using teward's Ubuntu
packages (https://launchpad.net/~nginx/+archive/ubuntu/development). I've
got openssl 1.0.2d on both client and server and I'm testing with Chrome
Canary and Firefox 41.0.2. The SSL config has a Qualys A+ rating and works
perfectly with the previous SPDY config in nginx 1.9.4. The only config I
changed in the nginx upgrade is 'spdy' to 'http2' in the listen directive. I
can see that Firefox is negotiating and reporting a successful h2
connection, but Chrome is not. Testing with openssl shows me that it's using
NPN but not ALPN, so I assume that Chrome Canary has already dropped NPN
support and is thus unable to negotiate h2.

With NPN: `echo | openssl s_client -nextprotoneg h2 -connect
www.synchromedia.co.uk:443`

    Next protocol: (1) h2
    No ALPN negotiated

With ALPN: `echo | openssl s_client -alpn h2 -connect
www.synchromedia.co.uk:443`


    No ALPN negotiated

Why would this be happening? Do I need to do something else to enable ALPN
in nginx?

Posted at Nginx Forum: https://forum.nginx.org/read.php?2,262573,262573#msg-262573



More information about the nginx mailing list