Apache删除/删除/取消定义代理平衡器定义

Apache删除/删除/取消定义代理平衡器定义,apache,httpd.conf,mod-proxy-balancer,Apache,Httpd.conf,Mod Proxy Balancer,我有一个Apache配置,需要实现一个平衡器,它使用一组临时上游服务器几个月,然后用一组永久服务器替换它们。我试图设计一种方法,使我能够在安装时交付这两种配置,并使以后以编程方式切换它们变得容易。这需要在大约40台具有独特配置的服务器上完成 到目前为止我所尝试的 我在httpd.conf文件中添加了以下代码: <proxy balancer://upstream> balancermember http://permanentserver1:80 balancermember

我有一个Apache配置,需要实现一个平衡器,它使用一组临时上游服务器几个月,然后用一组永久服务器替换它们。我试图设计一种方法,使我能够在安装时交付这两种配置,并使以后以编程方式切换它们变得容易。这需要在大约40台具有独特配置的服务器上完成

到目前为止我所尝试的

我在httpd.conf文件中添加了以下代码:

<proxy balancer://upstream>
  balancermember http://permanentserver1:80
  balancermember http://permanentserver2:80 status=+H
  balancermember http://permanentserver3:80 status=+H
</proxy>
include conf\temp_upstream.conf

平衡员http://permanentserver1:80
平衡员http://permanentserver2:80 状态=+H
平衡员http://permanentserver3:80 状态=+H
包括conf\temp\u upstream.conf
…然后在temp_upstream.conf文件中,我尝试覆盖平衡器的定义

<proxy balancer://upstream>>
  balancermember http://temporaryserver1:80
  balancermember http://temporaryserver2:80 status=+H
  balancermember http://temporaryserver3:80 status=+H
</proxy>
>
平衡员http://temporaryserver1:80
平衡员http://temporaryserver2:80 状态=+H
平衡员http://temporaryserver3:80 状态=+H
…但它似乎不起作用。第二个平衡器定义似乎被忽略了(尽管它可能会被合并-我不容易判断)

我使用这种方法的原因是,当执行切换时,我可以用一个空文件替换temp_upstream.conf文件,然后重新启动Apache


有什么方法可以让这个配置工作吗?是否有一种方法可以取消定义/删除脚本中先前定义的平衡器,以便接受第二个定义?(我知道我可以在启动行上传递一个变量,并使用
IfDefine
有条件地处理正确的定义-但这意味着修改Apache启动命令,我不想这样做。)

我最近找到了一个完美的解决方案

我确认这两个定义在内存中合并,形成一个更大的定义


通过将“lbset=0”(默认值)添加到temp_upstream.conf文件的临时配置中的每个BalancerMember定义中,并将“lbset=1”添加到httpd.conf的永久配置中的BalancerMember定义中,我可以使它完全按照我的要求工作。lbset=1定义仅在所有lbset=0定义失败后使用。

为什么不添加状态为禁用的定义?或者在需要时,让这两部分都包含Include、comment和uncomment?同时使用两个同名的平衡器是合乎逻辑的,会带来问题。另外,它是带有//