nginx/1.3.2 - 4xx responses are returned without HTTP headers, bug?

Maxim Dounin mdounin at
Mon Jul 9 09:52:27 UTC 2012


On Mon, Jul 09, 2012 at 10:41:19AM +0200, Sjon Hortensius wrote:

> Hi,
> I think I stumbled upon a bug in nginx but I would like to get
> someone else's opinion on this.
> It seems all 4xx errors are not prefixed by headers in HTTP
> responses. I have a simple test-script in bash which you can run to
> verify this behavior:
> function req { echo -n "GET /bugtest?id="; for i in `seq 15000
> 17100` ; do echo -n "%7C$i" ; done ; echo -en "HTTP/1.1\nUser-Agent:
> Mozilla/5.0\nConnection: Close\nHost:\r\n\r\n" ; } ;
> req | nc 80
> I can also reproduce this for other 4xx responses. My interpretation
> of the RFC is that this is unwanted, see

Headers aren't sent if nginx assumes the request is in HTTP/0.9 
format.  The above script makes nginx to think it's HTTP/0.9 as 
uri used dosn't fit into header buffer and nginx isn't able to 
see "HTTP/1.1" before it returns 414.

Maxim Dounin

More information about the nginx mailing list