502 IIS和Apache2之间的代理错误

502 IIS和Apache2之间的代理错误,apache,iis,proxy,mod-proxy,Apache,Iis,Proxy,Mod Proxy,我目前正在SUSE实例@EC2上运行apache2。作为我网站的一部分,我的数据使用mod_proxy通过proxy/reverseeproxy点击运行IIS的REST服务器 在设置我的vhost、启用mod_proxy并建立我的配置后,我发现我经常遇到502错误。这些错误属于代理错误和坏网关风格。在谷歌上做了大量的搜索之后,我发现在导致错误的IIS和apache终止连接的方式上存在差异。设置以下环境变量后,性能显著提高: SetEnv force-proxy-request-1.0 1 Set

我目前正在
SUSE
实例
@EC2
上运行
apache2
。作为我网站的一部分,我的数据使用
mod_proxy
通过
proxy/reverseeproxy
点击运行
IIS
REST
服务器

在设置我的
vhost
、启用
mod_proxy
并建立我的配置后,我发现我经常遇到
502
错误。这些错误属于
代理错误
坏网关
风格。在谷歌上做了大量的搜索之后,我发现在导致错误的
IIS
apache
终止连接的方式上存在差异。设置以下环境变量后,性能显著提高:

SetEnv force-proxy-request-1.0 1
SetEnv代理nokeepalive 1
SetEnv代理初始值未合并为1

我想知道的是为什么会这样,理想的配置会是什么样子

我的理解是,对于Env变量:
我正在强制执行一个
HTTP 1.0请求
(这将标准化终止预期)
不保持任何连接的活动状态
不使用任何池连接
对吗


如果我需要使用池连接怎么办?如果我想用keep alives怎么办?简言之,我正在寻找最佳实践,以取代我目前使用的牙签和胶水解决方案

我知道这个问题已经存在了一段时间,所以我想我会投入2美分。不管怎样,我更多的经验

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

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

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

对不起,我帮不了你更多

干杯
Robin

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