Apache 代理传递到 IIS 有时会引发 ProxyError

Apache 代理传递到 IIS 有时会引发 ProxyError

我们在两个几乎相同的 VirtualBox VM 上部署了一个 ASP.NET 4 网站,这些 VM 都安装了 IIS 7.5。它们都托管在同一个 Ubuntu 系统上,使用 Apache 2.2.14。

Apache 根据主机名(live.domain.com 或 staging.domain.com)决定将查询发送到哪个 VM。它有两个 VirtualHost,配置了 ProxyPass/ProxyPassReverse,并通过其 IP 选择 V​​M(VM 通过 VirtualBox 的“仅主机”虚拟网络适配器连接到主机)。

此设置工作正常,但有些请求无法完成。浏览器尝试下载文件(例如静态 JS 文件)5 分钟,然后 Apache 返回502 代理错误结果。Apache 日志显示 IIS 没有及时响应。在 IIS 日志中甚至没有出现该请求。

有什么提示可以找到这些偶发错误吗?Apache?VirtualBox 虚拟网络适配器?IIS?

Apache VirtualHost 配置摘录:

ServerName staging.domain.com

ProxyRequests off
ProxyPreserveHost On

<Proxy *>
allow from all
</Proxy>

ProxyPass / http://192.168.56.103/
ProxyPassReverse / http://192.168.56.103/

答案1

我们在通过 Apache 代理到 IIS 时使用它:

<Location />
        SetEnv force-proxy-request-1.0 1
        SetEnv proxy-nokeepalive 1
</Location>

相关内容