Dav*_*omb 7 mod-proxy 500-error apache-2.2 apache-2.4
我有一个运行 mod_proxy 和 mod_proxy_balancer 的 Apache httpd Web 服务器。整个 /somedir 被发送到 2 台工作机器,这些机器使用循环调度程序为请求提供服务。每台工作机器都在运行 IIS,但我认为这并不重要。
我可以通过重复请求包含机器 IP 地址的单个页面来演示负载平衡器的工作,并且可以看到它以可预测的循环方式从一个页面切换到另一个页面。
如果我关闭其中一台 IIS 服务器并开始请求相同的页面,则每个页面仅包含已启动机器的 IP 地址。但是,如果我启动 IIS 并且不运行我的 IIS 应用程序,那么 /somedir 将返回 500(应该如此)。
我已将 500 添加到故障状态(Apache 2.4)中,因此当它遇到错误时,Apache 会将工作机器置于错误状态。尽管如此,Apache 仍然将代理错误返回给客户端。如何让 Apache 捕获代理故障并以与连接故障相同的方式使用不同的工作器重试。
更新
在 StackOverflow 中提出了几乎相同的问题,因此将它们结合在一起。
小智 4
我已经与 httpd 邮件列表上的开发人员交谈过,他确认当前的代码库中尚未实现此功能。我自己也审阅了代码。mod_proxy_balancer 内部的状态机无法重试 HTTP 错误,但只能在连接错误时重试。我尝试自己实现它,但它太复杂了,我很容易使代码库不稳定。
所以这个问题今天还没有已知的解决方案......
归档时间: |
|
查看次数: |
9282 次 |
最近记录: |