Chunked transfer encoding problem

Piotr Bartosiewicz piotr.bartosiewicz at firma.gg.pl
Thu Nov 15 10:13:25 UTC 2012


W dniu 14.11.2012 18:07, Maxim Dounin pisze:
> 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.
>

Thanks for the answer!
Is this expected to be fixed in 1.3 version?
I've found 'Upstream code cleanup' entry in the roadmap, but no ticket 
in trac for this.

-- 
Piotr Bartosiewicz



More information about the nginx mailing list