views:

485

answers:

1

Hi,

so we're running a cluster of 2+ backend servers (happend to be JBoss servers) that are being load-balanced by an Apache 2.2. From time to time it can happen that the backend servers become unresponsive (meaning they'll wait ages to reply to a request, but don't close the connection immediately). This will naturally end up in a 502 "Bad gateway" error. My understanding of a load-balancer that is, that it should fail-over and redirect requests to the remaining instances.

I've seen that a node of the balancer can go to error state, but was never able to force-fully send one into that state (i.e. do that after the first 502 has been encountered). Am I missing something or is that just a feature I am wishing for? Oh, and here goes my config:

<Proxy balancer://s>
    Order deny,allow
    Allow from all

    BalancerMember http://host1:8080/ route=h1 timeout=20 retry=40
    BalancerMember http://host2:8080/ route=h2 timeout=20 retry=40
</Proxy>

# Distribute by Round Robin, use Sticky Sessions
ProxyPass / balancer://s/ stickysession=JSESSIONID lbmethod=byrequests nofailover=On
ProxyPassReverse /  http://host1:8080/
ProxyPassReverse /  http://host2:8080/

Best, Sebastian

+2  A: 

You specified nofailover=On which means it won't failover, hence the 502 errors. If you want it to failover it needs to be nofailover=Off which means it should failover.

Taylor Leese