Nginx returns 502 and drops the next request without checking upstream

Sudara swilliams at engineyard.com
Mon Sep 22 12:38:01 MSD 2008


Hi guys,

1. I have Nginx proxying upstream to 3 mongrels

2. A request comes in that has a ridiculous and crazy URL

3. The url is passed to the mongrels, and each mongrel errors on the  
request (Mongrel::HttpParserError: Invalid HTTP format, parsing fails.)

4. Nginx tries each mongrel in the upstream, gets the same result from  
each ( http://pastie.textmate.org/private/m9xjf7elqtmb2kwdtsbaa ) and  
passes a 502 to the client.

5. On the next request, Nginx never tries the upstream. Nginx returns  
a 502 for this next without checking the upstream. In this case, a  
real request is lost because (maybe) Nginx thinks that the upstream is  
invalid. See my strace:
http://pastie.org/private/0ktyhglwvmpwjbocryfysg and see the entire  
sequenced logged http://pastie.textmate.org/private/za2vqdrbxy8paoqfx1mlmq

Is this correct nginx behavior? Is mongrel giving an incorrect  
response to nginx?

Thanks for your help,
Sudara


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20080922/3309b826/attachment.html>


More information about the nginx mailing list