如何设置持久连接的Apache转发代理?

我们有一个Apache转发代理向数千台后端服务器发送请求。

服务器有问题,因为它们需要初始质询请求(无需身份validation)和下一个请求(身份validation)在同一个http连接上。 我们无法在任何合理的时间范围内确定这一点。

所以我们希望转发代理使用相同的连接,可能通过连接池?

默认情况下,Apache转发代理只要收到响应就closures连接。 这是devise

“正向代理的默认工作人员没有使用连接池的天真的意义。 它会在每个请求后closures每个连接。

涩谷stream二郎正在观察的是,Apache发出的信号表示,即使在正向代理模式下,它也会保持连接打开,但是随后会closures连接。 我们正在讨论一个解决办法,即从一开始就默认向前和尊敬的代理工作人员发出“连接:closures”信号。 “

有一些build议可以解决:

“你可以定义显式的工作者(例如,使用ProxyPass进行反向操作,而Rüdiger也可能使用正向代理模式,然后使用HTTP Keep-Alive(默认情况下取决于多个configuration选项)”

但我不知道该怎么做。 与ProxySet的东西,可能? 这个问题是,我需要以某种方式指定的URL,但这是一个转发代理 – 有许多可能的原始服务器,我不能枚举它们在前面。

我们应该如何configuration的东西来获得这个连接重用?

(这应该是一个评论,但它有点长)

我们有一个Apache转发代理向数千台后端服务器发送请求。

你只是注意到它不工作?

如果您可以在单个Apache实例上处理“成千上万个服务器”的stream量,那么就意味着您的架构出了问题。

您不能依赖链中的每个组件(即不仅仅是您的代理)来实现后端服务器似乎期望的Keepalive。 所以你在这里试图最好的缓解一个问题。

我强烈要求你在这里解决根本原因。

所以我们希望转发代理使用相同的连接,可能通过连接池?

号码连接池维护与原始服务器的一组开放连接。 它不将客户端连接绑定到原始服务器连接。

如果不知道代理服务器上发生了什么事情,就很难build议这个解决方法的正确方法是什么。 而Apache做一个神话般的networking服务器,恕我直言,有更好的工具来使用代理(ATS,haproxy,磅,鱿鱼,nginx,清漆。

从我对Apache httpd的了解,我不认为它有可能做你正在努力实现的。