-
Bug
-
Resolution: Done-Errata
-
Major
-
4.14
-
+
-
Critical
-
Yes
-
3
-
Sprint 253
-
1
-
Rejected
-
False
-
-
-
Bug Fix
-
Done
-
-
-
-
Description of problem:
Due to HTTP/2 Connection Coalescing (https://daniel.haxx.se/blog/2016/08/18/http2-connection-coalescing/), routes which use the same certificate can present unexplained 503 errors when attempting to access an HTTP/2 enabled ingress controller.
It appears that HAProxy supports the ability to force HTTP 1.1 on a route-by-route basis, but our Ingress Controller does not expose that option.
This is especially problematic for component routes because generally speaking, customers use a wildcard or SAN to deploy custom component routes (console, OAuth, downloads), but with HTTP/2, this does not work properly.
To address this issue, we're proposing the creation of an annotation haproxy.router.openshift.io/http2-disable, which will allow the disabling of HTTP/2 on a route-by-route basis, or smarter logic built into our Ingress operator to handle this situation.
Version-Release number of selected component (if applicable):
OpenShift 4.14
How reproducible:
Serve routes to applications in Openshift. Observe the routes through a HTTP/2 enabled client. Notice that http/2 client connections are broken (returns 503 on second connection when using same certificates across a mix of re-encrypt and passthrough routes)
Steps to Reproduce:
(see above notes)
Actual results:
503 error
Expected results:
no error
Additional info:
- links to
-
RHEA-2024:0041 OpenShift Container Platform 4.16.z bug fix update