Possible HTTP response read bug in Nginx 1.0.12

Maxim Dounin mdounin at mdounin.ru
Tue Apr 3 16:15:30 UTC 2012


On Tue, Apr 03, 2012 at 07:07:04AM -0400, tikonen wrote:

> Hi,
> I've nginx server setup that terminates SSL connections from clients and
> forwards plain HTTP requests to backend servers. Some of these requests
> can last pretty long (up to 1 minute) and usually get very short 15 byte
> reply. (Ajax polling)
> However, we see often these kind of errors that indicate that backend
> servers would have disconnected socket while writing reply.
> 2012/03/03 06:46:38 [error] 13394#0: *2100 upstream prematurely closed
> connection while reading response header from upstream, client:
> XX.XX.XX.XX, server: secure.example.com, request: "GET
> /url/example?par=12345 HTTP/1.1", upstream:
> "", host:
> "secure.example.com", referrer: "https://secure.example.com/"
> Strangely I can see correponding 200 OK responses from our server logs
> at the same timestamp, so at least backend server is trying to respond
> correctly. 
> Then we captured the traffic between nginx and backend server with
> wireshark and noticed that when this happens the response from server is
> actually sent in two TCP packets.
> The first packet has headers and the second packet has small 15 byte
> HTTP body. I suspect that nginx fails to read the second packet in some
> conditions and thinks backend server disconnected prematurely.
> Any insights? Thanks!

Please try 1.1.x to see if this is already resolved.  If not, 
please provide traffic capture and corresponding debug log, see

Maxim Dounin

More information about the nginx mailing list