[PATCH] Proxy: reset pending control frames on HTTP/2 upstream reinit.

David Carlier devnexen at gmail.com
Thu Feb 19 09:32:55 UTC 2026


Previously, ctx->out was not cleared in ngx_http_proxy_v2_reinit_request(),
which could cause stale HTTP/2 control frames (SETTINGS ACK, PING ACK,
WINDOW_UPDATE) queued for the old upstream connection to be sent to a new
upstream connection during a retry.
---
 src/http/modules/ngx_http_proxy_v2_module.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/http/modules/ngx_http_proxy_v2_module.c b/src/http/modules/ngx_http_proxy_v2_module.c
index 2c8a3d4d1..4c282a864 100644
--- a/src/http/modules/ngx_http_proxy_v2_module.c
+++ b/src/http/modules/ngx_http_proxy_v2_module.c
@@ -946,6 +946,7 @@ ngx_http_proxy_v2_reinit_request(ngx_http_request_t *r)
     ctx->connection = NULL;
     ctx->in = NULL;
     ctx->busy = NULL;
+    ctx->out = NULL;
 
     return NGX_OK;
 }
-- 
2.51.0



More information about the nginx-devel mailing list