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.
This commit is contained in:
Roman Arutyunyan 2026-05-05 15:22:05 +04:00 committed by Sergey Kandaurov
parent 999a13b47a
commit ce3362cfd5

View file

@ -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;