mirror of
https://github.com/nginx/nginx.git
synced 2025-07-24 14:16:20 +08:00
HTTP/2: client_header_timeout before first request (ticket #2142).
With this change, behaviour of HTTP/2 becomes even closer to HTTP/1.x, and client_header_timeout instead of keepalive_timeout is used before the first request is received. This fixes HTTP/2 connections being closed even before the first request if "keepalive_timeout 0;" was used in the configuration; the problem appeared in f790816a0e87 (1.19.7).
This commit is contained in:
parent
a74961f552
commit
0f5d0c5798
@ -238,6 +238,7 @@ ngx_http_v2_init(ngx_event_t *rev)
|
||||
ngx_http_v2_srv_conf_t *h2scf;
|
||||
ngx_http_v2_main_conf_t *h2mcf;
|
||||
ngx_http_v2_connection_t *h2c;
|
||||
ngx_http_core_srv_conf_t *cscf;
|
||||
|
||||
c = rev->data;
|
||||
hc = c->data;
|
||||
@ -325,8 +326,10 @@ ngx_http_v2_init(ngx_event_t *rev)
|
||||
rev->handler = ngx_http_v2_read_handler;
|
||||
c->write->handler = ngx_http_v2_write_handler;
|
||||
|
||||
if (c->read->timer_set) {
|
||||
ngx_del_timer(c->read);
|
||||
if (!rev->timer_set) {
|
||||
cscf = ngx_http_get_module_srv_conf(hc->conf_ctx,
|
||||
ngx_http_core_module);
|
||||
ngx_add_timer(rev, cscf->client_header_timeout);
|
||||
}
|
||||
|
||||
c->idle = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user