mirror of
https://github.com/nginx/nginx.git
synced 2024-12-04 22:09:01 +08:00
HTTP/3: special handling of client errors in the upstream module.
The function ngx_http_upstream_check_broken_connection() terminates the HTTP/1 request if client sends eof. For QUIC (including HTTP/3) the c->write->error flag is now checked instead. This flag is set when the entire QUIC connection is closed or STOP_SENDING was received from client.
This commit is contained in:
parent
7ce1a68aad
commit
5a4aaa6aed
@ -1345,6 +1345,19 @@ ngx_http_upstream_check_broken_connection(ngx_http_request_t *r,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (NGX_HTTP_QUIC)
|
||||||
|
|
||||||
|
if (c->qs) {
|
||||||
|
if (c->write->error) {
|
||||||
|
ngx_http_upstream_finalize_request(r, u,
|
||||||
|
NGX_HTTP_CLIENT_CLOSED_REQUEST);
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#if (NGX_HAVE_KQUEUE)
|
#if (NGX_HAVE_KQUEUE)
|
||||||
|
|
||||||
if (ngx_event_flags & NGX_USE_KQUEUE_EVENT) {
|
if (ngx_event_flags & NGX_USE_KQUEUE_EVENT) {
|
||||||
|
Loading…
Reference in New Issue
Block a user