Hi Gregory, On Mon, Dec 04, 2017 at 12:34:44PM +0000, Gregory Storme wrote: > Hi, > > I'm trying to enable http2 on a frontend, I added: > > bind x.x.x.x:443 ssl crt /etc/ssl/private/letsencrypt_staging.pem alpn > h2,http/1.1 > > I get a ERR_SPDY_PROTOCOL_ERROR when browsing the site. > Chrome net-internals log: > > t=580016 [st=7] -HTTP_TRANSACTION_SEND_REQUEST > t=580016 [st=7] +HTTP_TRANSACTION_READ_HEADERS [dt=1] > t=580017 [st=8] HTTP2_STREAM_ERROR > --> description = "Server reset stream with error > INTERNAL_ERROR." > --> net_error = "ERR_SPDY_PROTOCOL_ERROR" > --> stream_id = 3 > > curl -I --http2 https://my_website > curl: (92) HTTP/2 stream 1 was not closed cleanly: INTERNAL_ERROR (err 2) > > Haproxy log: > staging~ staging_servers/web003 0/0/-1/-1/0 503 1164 - - CC-- 1/1/0/0/0 0/0 > {} "GET / HTTP/1.1"
This request was not served and ended up in 503 (no server). Would you happen to have redefined "errorfile 503" in your config ? The only case I'm seeing where we can close this way is on contents that the HTTP/1 parser wouldn't accept (invalid response headers, broken chunking, stuff like this). So this very closely ressembles an errorfile mapped to something not normal. > haproxy -vv > HA-Proxy version 1.8.0-2~bpo8+1 2017/12/02 A significant number of h2 and HPACK fixes were merged since, but nothing which should affect this. Willy

