我已经设置了Apache,通过使用ProxyPass将请求发送到camera.example.com到一个可通过与Apache运行的服务器无关的IP地址访问的networking摄像头:
[摄像头] – [NAT / PRT frwrd] – [11.22.33.44] – [互联网] – [networking服务器]
Apache的虚拟主机指令中的“example.com”相关条目:
<VirtualHost *> ServerName camera.example.com ProxyRequests Off ProxyPass / http://11.22.33.44/ ProxyPassReverse / http://11.22.33.44/ </VirtualHost>
像魅力一样工作,但是,相机不总是打开。 在这种情况下,我不希望在访问我的相机时发现“未find”错误,而是要为其提供另一个网页。
如果第一个(相机)不可用,是否可以设置某种“后退”地址?
你可以使用apache的负载均衡能力 ,它也有内置的自动故障转移function 。
你的configuration如下所示:
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>
你只需用+ H标记备份服务器 – 热备份。 只要相机[ 超时秒]应答 – stream量发送到它; 如果没有 – apache开始发送stream量到备份机器,并且会每隔几秒钟检查一次相机。
如果这是一个公共IP地址,某些DNS提供商将会ping您的IP地址,如果不可用,将故障转移到备份IP地址。 我们使用dnsmadeeasy.com为此。
但是要注意的一件事是,它只能每5分钟左右检查一次,所以故障切换和故障恢复不是瞬时的。