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

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


Hello!

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: wiki.nginx.org\r\n\r\n" ; } ;
> req | nc wiki.nginx.org 80
> 
> I can also reproduce this for other 4xx responses. My interpretation
> of the RFC is that this is unwanted, see
> http://tools.ietf.org/html/rfc2616#section-6.1

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