6

我目前正在apache2一个SUSE实例上运行@EC2。作为我网站的一部分,我的数据用于mod_proxy访问REST通过IIS.Proxy/ReverseProxy

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

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

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

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

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

4

2 回答 2

2

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

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

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

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

对不起,我帮不上什么忙……

干杯罗宾

于 2012-10-08T22:07:10.457 回答
0

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

于 2013-02-25T22:50:32.163 回答