Merge of r4461: upstream: fixed "too big header" check.
If header filter postponed processing of a header by returning NGX_AGAIN and not moved u->buffer->pos, previous check incorrectly assumed there is additional space and did another recv() with zero-size buffer. This resulted in "upstream prematurely closed connection" error instead of correct "upstream sent too big header" one. Patch by Feibo Li.
This commit is contained in:
parent
e88e3cafaf
commit
a5579fdaff
|
@ -1561,7 +1561,7 @@ ngx_http_upstream_process_header(ngx_http_request_t *r, ngx_http_upstream_t *u)
|
|||
|
||||
if (rc == NGX_AGAIN) {
|
||||
|
||||
if (u->buffer.pos == u->buffer.end) {
|
||||
if (u->buffer.last == u->buffer.end) {
|
||||
ngx_log_error(NGX_LOG_ERR, c->log, 0,
|
||||
"upstream sent too big header");
|
||||
|
||||
|
|
Loading…
Reference in New Issue