I was trying create http2 backend in rust and using hyper 0.14. It work perfect with tls but does not work without tls. not on localhost as well.
let addr = sc.addr();
let incoming = AddrIncoming::bind(&addr)?;
let builder = Server::builder(incoming).http2_only(true);
builder.serve(make_svc_single_req).await
it should serve webpage without tls on http2.