Chunked transfer encoding problem
Maxim Dounin
mdounin at mdounin.ru
Wed Nov 14 17:07:35 UTC 2012
Hello!
On Wed, Nov 14, 2012 at 05:42:49PM +0100, Piotr Bartosiewicz wrote:
> Hi,
>
> My nginx (1.2.4) config looks like this (relevant part):
>
> server {
> listen 8888;
>
> location / {
> proxy_http_version 1.1;
> proxy_pass http://localhost:8080;
> }
> }
>
> Backend server handles GET requests and responds with a large body.
> Response is generated and sent on the fly, so content-length is not
> known at the beginning.
> In normal case everything works fine.
>
> But sometimes server catches an exception after a response headers
> were sent.
> I've found that there is a commonly used solution to inform a client
> about incomplite response:
> use Transfer-Encoding chunked and close socket without sending the
> last (0 length) chunk.
> Unfortunately nginx appends termination chunk even when the backend
> server does not
> (both nginx and backed connections are http/1.1 and use chunked encoding).
>
> Is this expected behavior, bug or maybe there is some option to turn
> this off?
This is sort of known bug. Fixing it would require relatively
large cleanup of upstream module.
--
Maxim Dounin
http://nginx.com/support.html
More information about the nginx
mailing list