
Estou usando o Apache 2.2.4 como servidor proxy reverso em minha DMZ. O Proxy Balancer parece funcionar muito bem quando os dois servidores BalancerMember estão ativos. Mas se eu desligar um, leva cerca de 30 a 45 segundos para que algo carregue em meu site toda vez que carrego uma página. Aqui está minha configuração:
ServerName mywebsite.com
ProxyRequests Off
<Proxy *>
Order deny, allow
Allow from all
</Proxy>
<Proxy balancer://mycluster>
BalancerMember http://10.10.10.10:80/outside loadfactor=1 retry=60
BalancerMember http://10.10.10.11:80/outside loadfactor=1 retry=60
</Proxy>
ProxyPass /outside balancer://mycluster/
ProxyPassReverse /outside balancer://mycluster/
ProxyPass /balancer-manager !
<Location /balancer-manager>
SetHandler balancer-manager
</Location>
O servidor atua como um proxy reverso para serviços REST que estão por trás dele. Quando carrego o aplicativo web, ele chama os serviços REST várias vezes, então não sei se isso também pode estar causando a lentidão, já que o Proxy está sendo atingido por muitas solicitações ao mesmo tempo.
Responder1
Defina a ProxyTimeout
para apenas alguns segundos - o que está acontecendo é que ele fica parado tentando conexões com o backend inativo por um longo tempo, sem atingir o tempo limite.
Definir algo como ProxyTimeout 3
fará com que a conexão falhe mais rapidamente e, em seguida, sua retry=60
configuração fará com que o servidor inativo não seja usado novamente no próximo minuto.