如何在服务器错误上使用Apache反向代理redirect

我在networking上有几个http和游戏服务器,目前使用Apache2反向代理来分配域和机器之间的stream量。

一台机器的stream量比其他机器要多得多。 我想知道从哪里开始使用我的虚拟主机来引导多余的stream量到不同的机器。

本质上,当192.168.1.5是无法访问或重载,我想发送这个stream量到192.168.1.6来代替。

我试过search,但显然我甚至没有使用正确的术语。 对不起,这是如此新的。 我还在学习,我很欣赏任何提示或指示。

多谢你们!

好吧,我想我已经find了自己的答案。

通过使用最新版本的Apache和“FallbackResource”指令,我们可以在主要目标不可用的情况下为我们的客户端设置备用目标。 更多信息可以通过下面的Apache.orgfind… https://httpd.apache.org/docs/2.4/mod/mod_dir.html#fallbackresource

基本上只需在一个可parsing的位置作为唯一参数在VirtualHost括号内添加一行。 像这样…

<VirtualHost *:80> ServerName foo.example.com DocumentRoot /var/www/html DirectoryIndex index.php FallbackResource http://192.168.1.5/overflow.html </VirtualHost> 

在我的具体情况下,我还使用ProxyPass和反向代理服务器,为每个VirtualHost使用一个单独的服务器,所以我简化了一下这个例子。 我相信它应该仍然是一个有效的例子。

如我错了请纠正我 ..

从你的问题我知道你使用一个虚拟机的主机节点。

2.另外,就我所知,你是通过在主机节点上为每个虚拟机创build一个代理虚拟主机来通过Apache代理路由stream量的。

3.假设从你的例子VM1(192.168.1.5)和VM2(192.168.1.6)基本上是“相同的”,可以看作是彼此的克隆。

你想find一种方式,如果VM1宕机或超负荷路由stream量到VM2

如果1,2,3代表你的情况,4是你所寻求的,那么解决scheme很简单..你只需要分配尽可能多的资源,你可以负担主虚拟机。 通过在同一个节点上使用第二个虚拟机,你不会解决你的问题。

一个好的解决办法是将虚拟机1放在实际的服务器上,然后将虚拟机2的虚拟机迁移到另一台具有附加资源的服务器上。

然后在主机节点apache代理和VM1之间的第一台服务器上,您可以安装您select的负载平衡器。

然后,根据负载均衡策略,您可以将stream量路由到VM1,或将stream量路由到第二台服务器VM2

希望能帮助到你 ..