ngx_http_upstream_status_variable len = r->upstream_states->nelts * (3 + 2); write status to string, one status str len would be 3 in most case, like 200, 302, 404.... but if upstream multi times, may be add ' : ' as separator so, string len may be nelts*3 + (nelts-1)*3 = 6nelts - 3 != nelts * (3 + 2); what's wrong here?by gaoyan09 - Nginx Mailing List - English
thx I see it. This do keep sending to client if upstream connection eof or error, only finalize request when u->busy_bufs == NULL, as all recv buffers had send to clientby gaoyan09 - Nginx Mailing List - English
size = b->end - b->last; if (size && upstream->read->ready) { n = upstream->recv(upstream, b->last, size); if (n == NGX_AGAIN) { break; } if (n > 0) { u->state->response_length += n; if (u->input_filter(u->input_filter_ctx, n) == NGX_ERRby gaoyan09 - Nginx Mailing List - English