http4s / blaze

Blazing fast NIO microframework and Http Parser

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Blaze does not support HTTP/2 over http (without TLS)

kamilkloch opened this issue · comments

An HTTP/2 connection over http is handled via HTTP/1, blaze prints a warning.

HTTP/2 support requires TLS. Falling back to HTTP/1.

According to the RFC , this statement is false - HTTP/2 does not enforce TLS.

The use-case for HTTP/2 over http is quite a big one in our case - blaze server is hidden behind an HAProxy, which handles the SSL layer, does multiplexing of connections and talks to blaze over http. SSL between HAProxy and blaze is wrong on 2 levels: 1) it incurrs a substantial performance penalty 2) it requires hacks to trust a self-signed blaze certificate.

Arguably, HTTP/2 should be supported without requiring TLS. (FWIW, ember does support it).