Hi, Maxim:

Thank you very much for the comment, and sorry for my long previous email.

I guess you might misunderstand my previous email. Basically what I try to say is that the *OLD* bug (ticket/669 as you mentioned) is seen on the *PRISTINE* *NEW* 1.9.7 release. The attached script can reproduce the problem by simply invoke
"./a.sh"

The a.sh donwload the 1.9.7 release, build it *without* any 3rd party module.

The problem is triggered by turning off unbuffered-uploading in proxy server. IIRC, when people report ticket/669, unbuffered-uploading was not available.

   I guess we ngx_http_discard_request_body() should return NGX_AGAIN
instead NGX_OK if discarding body is in progress.

   Also see the following interleaving response.

Best Regards
Shuxin


On 11/22/2015 05:24 PM, Maxim Dounin wrote:
There is no problem in returning a response before reading the
whole body.

Ditto!


It looks like you've run into the old bug in the proxy module,
which doesn't handle such responses in keepalive connections
properly, see additional details here:

https://trac.nginx.org/nginx/ticket/669

Correct fix would be to stop nginx from re-using upstream
connections where a request wasn't completely sent.

We cannot tell if it is complete or not if ngx_http_discard_request_body() always
returns NGX_OK

Attachment: repro_400.tar.gz
Description: application/gzip

_______________________________________________
nginx mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to