From: Roman Arutyunyan Date: Tue, 5 May 2026 11:22:05 +0000 (+0400) Subject: Proxy: fix keepalive for HTTP/2 with explicit or no body X-Git-Url: http://www.kaiwu.me/postgresql/commit/static/gitweb.js?a=commitdiff_plain;h=1a2adac356e57893fad82f0637fb12b27d581242;p=nginx.git Proxy: fix keepalive for HTTP/2 with explicit or no body Previously, when an HTTP/2 request had no body or an explicit body was set by proxy_set_body, the request consisted of only one buffer, which had no b->last_buf flag set. This prevented ctx->output_closed from being set after processing this buffer. Consequently, u->keepalive might not be set to store the connection in the keepalive cache. --- diff --git a/src/http/modules/ngx_http_proxy_v2_module.c b/src/http/modules/ngx_http_proxy_v2_module.c index 4c282a864..7cff58d3b 100644 --- a/src/http/modules/ngx_http_proxy_v2_module.c +++ b/src/http/modules/ngx_http_proxy_v2_module.c @@ -910,6 +910,8 @@ ngx_http_proxy_v2_create_request(ngx_http_request_t *r) f = (ngx_http_proxy_v2_frame_t *) headers_frame; f->flags |= NGX_HTTP_V2_END_STREAM_FLAG; } + + b->last_buf = 1; } u->output.output_filter = ngx_http_proxy_v2_body_output_filter;