I've set up Apache to send requests to camera.example.com to an a webcam accessible via an IP address not associated with the server Apache's running on, using ProxyPass:

[camera] -- [nat / prt frwrd] -- [11.22.33.44]-- [internets] -- [webserver]

Relevant entry in the Apache's virtual host directive for the 'example.com':

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

Works like a charm, however, the camera is not always turned on. In that case, instead of having Apache serve a 'not found' error upon visiting my camera , I'd like it to serve an alternative web page.

Would it be possible to set some sort of 'fall-back' address in case the first one (the camera's) is not available?

link|improve this question
feedback

2 Answers

up vote 2 down vote accepted

you can use load balancing capability of apache, it has automatic failover built-in as well.

your config would look as follows:

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>

you just mark backup-server with +H - hot standby. as long as camera answers [ in timeout sec ] - traffic is sent to it; if it does not - apache starts sending traffic to the backup machine, and will check camera every retry seconds.

link|improve this answer
Awesome! Exactly what I was looking for. Thanks. – klokop Dec 24 '09 at 18:49
feedback

If this is a public IP address, certain DNS providers will ping your IP address, and failover to a backup IP address if it is not available. We use dnsmadeeasy.com for this.

One thing to be aware of however, is that it may only check every 5 minutes or so, so failover and failback are not instantaneous.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.