Localização de retorno para a diretiva ProxyPass do Apache?

4

Configurei o Apache para enviar solicitações para camera.example.com para uma webcam acessível por meio de um endereço IP não associado ao servidor em que o Apache está sendo executado, usando ProxyPass:

[câmera] - [nat / prt frwrd] - [11.22.33.44] - [internets] - [servidor da Web]

Entrada relevante na diretiva do host virtual do Apache para o 'example.com':

<VirtualHost *>
  ServerName camera.example.com
  ProxyRequests Off
  ProxyPass / http://11.22.33.44/
  ProxyPassReverse / http://11.22.33.44/
</VirtualHost>

Funciona como um encanto, no entanto, a câmera não está sempre ligada. Nesse caso, em vez de o Apache exibir um erro "não encontrado" ao visitar minha câmera, eu gostaria que ele exibisse uma página da Web alternativa.

Seria possível definir algum tipo de endereço de retorno caso o primeiro (a câmera) não esteja disponível?

    
por klokop 23.11.2009 / 21:48

2 respostas

11

você pode usar o recurso de balanceamento do apache, tem um failover automático integrado como bem.

sua configuração ficaria da seguinte forma:

ProxyPass / balancer://hotcluster/
<Proxy balancer://hotcluster>
 BalancerMember http://addres.of.the.camera timeout=15 retry=300
 BalancerMember http://address.of.backup.server status=+H
</Proxy> 

você acabou de marcar o servidor de backup com o + H - hot standby. contanto que a câmera responda [em tempo limite seg] - o tráfego é enviado para ela; se isso não acontecer - o apache começa a enviar tráfego para a máquina de backup e verifica a câmera a cada repetição segundos.

    
por 24.12.2009 / 09:46
0

Se esse for um endereço IP público, alguns provedores de DNS farão ping no seu endereço IP e farão failover em um endereço IP de backup, se ele não estiver disponível. Nós usamos o dnsmadeeasy.com para isso.

Uma coisa a ter em conta, no entanto, é que só pode verificar a cada 5 minutos, pelo que o failover e o failback não são instantâneos.

    
por 23.11.2009 / 23:12