我们有一个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的了解,我不认为它有可能做你正在努力实现的。