reverseproxy: Use http1.1 upgrade for websocket for extended connect of http2 and http3 (#7305)

Co-authored-by: WeidiDeng <weidi_deng@icloud.com>
This commit is contained in:
Anthony Biondo
2025-10-15 22:20:20 -04:00
committed by GitHub
parent 10ac7da037
commit 7fb39ec1e5
2 changed files with 9 additions and 5 deletions
+2 -2
View File
@@ -94,9 +94,9 @@ func (h *Handler) handleUpgradeResponse(logger *zap.Logger, wg *sync.WaitGroup,
conn io.ReadWriteCloser
brw *bufio.ReadWriter
)
// websocket over http2, assuming backend doesn't support this, the request will be modified to http1.1 upgrade
// websocket over http2 or http3 if extended connect is enabled, assuming backend doesn't support this, the request will be modified to http1.1 upgrade
// TODO: once we can reliably detect backend support this, it can be removed for those backends
if body, ok := caddyhttp.GetVar(req.Context(), "h2_websocket_body").(io.ReadCloser); ok {
if body, ok := caddyhttp.GetVar(req.Context(), "extended_connect_websocket_body").(io.ReadCloser); ok {
req.Body = body
rw.Header().Del("Upgrade")
rw.Header().Del("Connection")