我有一个 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
..然后在 temp_upstream.conf 文件中,我尝试覆盖平衡器的定义
<proxy balancer://upstream>>
balancermember http://temporaryserver1:80
balancermember http://temporaryserver2:80 status=+H
balancermember http://temporaryserver3:80 status=+H
</proxy>
……但它似乎不起作用。第二个平衡器定义似乎被忽略了(尽管它可能被合并 - 我不能轻易说出)。
我使用这种方法的原因是,当需要执行切换时,我可以将 temp_upstream.conf 文件替换为空文件 - 然后重新启动 Apache。
有什么办法可以使这个配置工作吗?有没有一种方法可以取消定义/删除脚本中先前定义的平衡器,以便接受第二个定义?(我确实知道我可以在启动行上传递一个变量并用于IfDefine
有条件地处理正确的定义——但这意味着修改我不想做的 Apache 启动命令。)