What I'm not seeing in those bug reports is "Connection Refused" errors.
As an aside, I bet that as of Apache 2.2.4 "SetEnv proxy-nokeepalive 1 "
is no longer needed. One cause of the "error reading headers" error
was that up until 2.2.4 mod_proxy wasn't checking to see whether a
previously used socket was still good or not before using it for the
next request. The fix is in 2.2.4. It makes sense that turning
keepalives off for proxy connections works. It probably makes Apache
reconnect for each request: a blank slate. That's a practical option
if you've got a few dozen to a hundred requests per second.
So two possible causes of error reading response headers are:
1) Mongrel has hit 950 workers ( or whatever num_processors is ) --
unlikely, I suppose, unless there's a bug in Mongrel's tracking of
worker list length.
2) Apache attempted to read/write to a bad socket
The no-keepalives probably addresses the second case. I'm not sure what
it does in the first case. The way mod_proxy checks is to read a zero
byte buffer off the socket. If Mongrel just closes right away I'm not
sure what state the socket's in at the client ( mod_proxy ) side of
things -- whether it's in close_wait or whatever -- and what a zero-byte
read would return.
This is one reason why returning a 503 from Mongrel would be helpful --
it'd be nice to rule out the num_processors accept/close right off the
bat, however unlikely it may be deemed.
It might be worth upgrading to Apache 2.2.6 and seeing whether that
fixes the issue. It's a crap shoot, done without fully understanding
the problem, but if it works, what the heck -- it makes your day better.
Anyhow, I'm really interested in the outcome of this -- we rely on
mod_proxy_balancer, and I want to be sure I understand it.
Rafael G. wrote:
Jacobo Garcia escribió:
[Tue Oct 16 23:28:01 2007] [error] [client 67.142.130.19] proxy: error
reading status line from remote server bomber, referer:
http://www.google.com/search?hl=es&q=tipos+de+herramintas++++&lr=
We had this problem and solved it adding the following lines in our
apache conf:
#Fix for Apache bug 39499
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
Regards!
_______________________________________________
Mongrel-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/mongrel-users
begin:vcard
fn:Robert Mela
n:Mela;Robert
email;internet:[EMAIL PROTECTED]
x-mozilla-html:FALSE
version:2.1
end:vcard
_______________________________________________
Mongrel-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/mongrel-users