[undertow-dev] nghttp2 requests to Undertow - "[ERROR] HTTP/2 protocol was not selected. (nghttp2 expects h2)"

Stuart Douglas sdouglas at redhat.com
Wed Jun 3 03:56:43 EDT 2015


This is very odd. What version of OpenSSL do you have? From their docs:

"ALPN support requires OpenSSL >= 1.0.2 (released 22 January 2015)."

If you have an older version it will be using NPN (which was used by early drafts of the protocol), which we do not support. 

Stuart

----- Original Message -----
> From: "Michael Hixson" <michael.hixson at gmail.com>
> To: undertow-dev at lists.jboss.org
> Sent: Wednesday, 3 June, 2015 6:17:40 AM
> Subject: [undertow-dev] nghttp2 requests to Undertow - "[ERROR] HTTP/2 protocol was not selected. (nghttp2 expects
> h2)"
> 
> I am attempting to make requests to an Undertow+HTTP/2 server with nghttp2.
> 
> https://github.com/tatsuhiro-t/nghttp2
> 
> The requests fail.  I see the same error on the public demo site for
> Undertow+HTTP/2, and I don't see any errors when I hit other
> HTTP/2-enabled public sites, such as google.com.
> 
> The error is "[ERROR] HTTP/2 protocol was not selected. (nghttp2
> expects h2)".  See the end of this email for full output from the
> command line for requests to google.com and http2.undertow.io.
> 
> I'm wondering if this is a bug in Undertow.  Or perhaps it is a bug in
> nghttp2 and I'm on the wrong mailing list.  Have any of you tried
> this?  Any thoughts?
> 
> I'm using nghttp2 version 1.1.  The Undertow version is whatever the
> public demo site is running right now, but I also tried it locally
> with the latest from master (1.3.0.Beta1-SNAPSHOT) and got the same
> result.
> 
> -Michael
> 
> 
> ----------------------------------------------
> 
> 
> $ nghttp -ns https://www.google.com/
> ***** Statistics *****
> 
> Request timing:
>   responseEnd: the  time  when  last  byte of  response  was  received
>                relative to connectEnd
>  requestStart: the time  just before  first byte  of request  was sent
>                relative  to connectEnd.   If  '*' is  shown, this  was
>                pushed by server.
>       process: responseEnd - requestStart
>          code: HTTP status code
>          size: number  of  bytes  received as  response  body  without
>                inflation.
>           URI: request URI
> 
> see http://www.w3.org/TR/resource-timing/#processing-model
> 
> sorted by 'complete'
> 
> id  responseEnd requestStart  process code size request path
>  13    +83.40ms       +161us  83.24ms  200  19K /
> 
> 
> ----------------------------------------------
> 
> 
> $ nghttp -ns https://http2.undertow.io/
> [ERROR] HTTP/2 protocol was not selected. (nghttp2 expects h2)
> Some requests were not processed. total=1, processed=0
> ***** Statistics *****
> 
> Request timing:
>   responseEnd: the  time  when  last  byte of  response  was  received
>                relative to connectEnd
>  requestStart: the time  just before  first byte  of request  was sent
>                relative  to connectEnd.   If  '*' is  shown, this  was
>                pushed by server.
>       process: responseEnd - requestStart
>          code: HTTP status code
>          size: number  of  bytes  received as  response  body  without
>                inflation.
>           URI: request URI
> 
> see http://www.w3.org/TR/resource-timing/#processing-model
> 
> sorted by 'complete'
> 
> id  responseEnd requestStart  process code size request path
> _______________________________________________
> undertow-dev mailing list
> undertow-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/undertow-dev
> 


More information about the undertow-dev mailing list