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?
On Wed, Nov 14, 2012 at 05:42:49PM +0100, Piotr Bartosiewicz wrote:
}
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.
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
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.