nginx resets connection

Gerhard Heift gerhard.heift at
Thu Mar 17 02:09:53 MSK 2011


I found a bug in the request finalization on linux:

If the server has a keep-alive set to 0 and the client sends pipelined
requests which exeeds client_header_buffer_size, nginx closes the
connection and linux sends a TCP RST since there is still data in
the TCP buffer of the kernel. This results in an incomplete transfer on
the client site.

One possible solution would be to allow pipelined request even if
keep-alive is set to zero. Another one would be to wait until the kernel
receives the ACK for all pending data in the send buffer.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <>

More information about the nginx mailing list