Open ShenFeng312 opened 3 months ago
The bug is caused by differences between OpenResty and Nginx.
In Nginx's ngx_http_upstream.c
:
if (!u->request_body_sent) {
u->request_body_sent = 1;
if (u->header_sent) {
return;
}
ngx_add_timer(c->read, u->conf->read_timeout);
if (c->read->ready) {
ngx_http_upstream_process_header(r, u);
return;
}
}
The added read_timeout
is u->conf->read_timeout
.
However, in OpenResty, due to the HAVE_NGX_UPSTREAM_TIMEOUT_FIELDS
macro, OpenResty directly uses u->read_timeout
.
But the ngx_multi_upstream_module
does not account for this difference.
https://github.com/apache/apisix/issues/10620