【问题标题】:502 Proxy Errors between IIS and Apache2IIS 和 Apache2 之间的 502 代理错误
【发布时间】:2012-09-06 15:08:37
【问题描述】:

我目前在SUSE 实例@EC2 上运行apache2。作为我网站的一部分,我的数据使用mod_proxy 通过Proxy/ReverseProxy 访问运行IISREST 服务器。

设置我的vhosts,启用mod_proxy并建立我的配置后,我发现我经常遇到502错误。这些错误属于Proxy ErrorBad Gateway 风格。在做了一些相当大的谷歌之后,我发现IISapache 终止他们的连接的方式有所不同,这导致了错误。设置以下环境变量后,性能明显提升:

SetEnv force-proxy-request-1.0 1
SetEnv 代理-nokeepalive 1
SetEnv proxy-initial-not-pooled 1

我想知道为什么这样会起作用以及理想的配置会是什么样子。

我的理解是,使用 Env 变量:
我正在强制使用HTTP 1.0 request(这将使终止期望标准化)
不保持任何连接
不使用任何池连接
正确的?

如果我需要使用池连接怎么办?如果我想使用保活怎么办?简而言之,我正在寻找替代我目前使用的牙签和胶水解决方案的最佳做法

【问题讨论】:

    标签: apache iis proxy mod-proxy


    【解决方案1】:

    我看到这个问题已经存在了一段时间,所以我想我会投入 2 美分。无论如何,我的经验更多......

    据我所知,这三个环境变量或设置在生产中是可以的。你对它们的理解也是正确的。当我遇到这个问题时,我发现this 链接在解释问题时很有用。它只发生在后端的 IIS 中...... 请注意,初始池设置将特别影响 Http/1.0 客户端的性能......我从来没有注意到任何事情,但是,仅 iis 服务器就有 64gb 的内存和机器上的几个核心......所以我承认我可以'不确定“它根本没有影响”,我所知道的是“有足够的资源你就没有问题”......

    老实说,但是,关于你的牙签声明,我知道有几十个生产环境实现了这个......你可以设置其他东西并使用 apache 并更改它以实现更长的超时等,但我已经设置了这些设置,它就可以工作......

    我想我只是想说你不应该因为这些设置而失去任何睡眠。在我看来,虽然我不知道它们是否是最佳做法,但它们是安全的......

    对不起,我帮不上忙……

    干杯 罗宾

    【讨论】:

      【解决方案2】:

      我认为我收到此错误是因为服务器的硬盘空间不足。不寻常,但它确实发生了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-14
        • 2021-02-15
        相关资源
        最近更新 更多