我有一个 Apache 2.2 服务器,在 Tomcat 6 服务器前面。使用 Apache 上的 mod_proxy_ajp 将请求代理到 Tomcat。这是一个相当标准的设置。
如果我需要禁用浏览器的 keep-alive 连接,我该怎么做?
我需要禁用 keep-alive http 请求,因为我怀疑我的一些用户有可能会丢弃非活动的 keep-alive 连接,这会导致随机出现问题。
在 Apache 和 Tomcat 上都有各种“keep alive”配置。
httpd.conf 中有 "KeepAlive Off"(在我的情况下似乎没有起作用)
还可以在 httpd.conf 中设置 ProxyPass 的位置,设置一个“keepalive”参数,但是这只有在我的 Apache 和 Tomcat 之间有代理/防火墙时才有所帮助,而在我的情况下并不是问题所在。
Tomcat 本身的 HTTP 连接器有 "keepAliveTimeout" 和 "maxKeepAliveRequests",但这只适用于 HTTP 连接器。
Tomcat ajp 连接器也有一个 "keepAliveTimeout",但这是针对来自 Apache 的 ajp 请求的,不确定是否应该/流向浏览器到 Apache 的实际 HTTP 请求。
最后还有 HTTP1.0 vs HTTP1.1 的区别。
所以这很令人困惑...有人能解释一下吗?
如果我需要禁用浏览器的 keep-alive 连接,我该怎么做?
我需要禁用 keep-alive http 请求,因为我怀疑我的一些用户有可能会丢弃非活动的 keep-alive 连接,这会导致随机出现问题。
在 Apache 和 Tomcat 上都有各种“keep alive”配置。
httpd.conf 中有 "KeepAlive Off"(在我的情况下似乎没有起作用)
还可以在 httpd.conf 中设置 ProxyPass 的位置,设置一个“keepalive”参数,但是这只有在我的 Apache 和 Tomcat 之间有代理/防火墙时才有所帮助,而在我的情况下并不是问题所在。
Tomcat 本身的 HTTP 连接器有 "keepAliveTimeout" 和 "maxKeepAliveRequests",但这只适用于 HTTP 连接器。
Tomcat ajp 连接器也有一个 "keepAliveTimeout",但这是针对来自 Apache 的 ajp 请求的,不确定是否应该/流向浏览器到 Apache 的实际 HTTP 请求。
最后还有 HTTP1.0 vs HTTP1.1 的区别。
所以这很令人困惑...有人能解释一下吗?