Just a heads up, we tried to enable H2 with haproxy 1.8.3 last week and had to roll it back because of a Firefox bug. I believe it's this one, which doesn't seem to be getting much attention: https://bugzilla.mozilla.org/show_bug.cgi?id=1427256
Source: https://bugzilla.mozilla.org/show_bug.cgi?id=1427256#c7
http://www.wiktorzychla.com/2017/06/http2-keep-alive-and-saf...
"An endpoint MUST NOT generate an HTTP/2 message containing connection-specific header fields; any message containing connection-specific header fields MUST be treated as malformed (Section 8.1.2.6)." and "Clients MUST NOT accept a malformed response. Note that these requirements are intended to protect against several types of common attacks against HTTP [...]"
(though Safari's response of repeatedly retrying as fast as possible is certainly problematic)