【发布时间】:2009-10-29 06:25:16
【问题描述】:
我想将 Apache 2 设置为反向代理,使用基于名称的虚拟主机来决定如何将请求路由到后端服务器。很简单。
问题是这些后端服务器可以以动态方式添加和删除。我的第一个想法是以编程方式重写 Apache 配置文件,并在每次后端服务器启动或关闭时调用 apachectl graceful。这似乎不是正确的解决方案。有什么更好的方法来实现这一点?
我需要能够优雅地将名称处理转移到不同的后端服务器。例如,Backend-Server-A 可能正在处理 example.com 的请求。监控进程可能会确定 Backend-Server-A 已过时(内存使用量过多、有新版本的服务器代码来处理 example.com 等)。监控进程启动 Backend-Server-B,它将很快处理 example.com 的请求。 Apache 应将 example.com 的任何新请求定向到 Backend-Server-B,但允许 Backend-Server-A 当前正在处理的任何待处理请求在 Backend-Server-A 关闭之前完成。
【问题讨论】:
-
您应该在 serverfault 上重新发布此内容
-
交叉发帖有刺激他人的风险吗?
-
在其他情况下,可能,但这确实是serverfault的问题,所以我只是把它作为一个新问题放在那里(不要只是发布链接)
-
因在 SF 上重新发布而关闭。如果您认为这确实在 SO 上有生命,请标记它,我会看看。
标签: apache2 reverse-proxy