增加 mod_proxy_ajp 连接的超时时间

增加 mod_proxy_ajp 连接的超时时间

我的 apache (2.2.3) 通过 mod_proxy_ajp 与 tomcat 6.something 进行通信。

我有一些非常长的请求(2-6 分钟),我认为我们在某个地方遇到了一些默认超时......哪里是正确的增加它的地方?

这是我的代理定义:

<Location /blah>
  ProxyPass ajp://localhost:8010/blah
  ProxyPassReverse ajp://localhost:8010/blah
</Location>

答案1

我不能说我尝试过这个,但我对这个问题很感兴趣,所以我在谷歌上搜索了一下,发现了


ProxyTimeout 指令

此指令允许用户指定代理请求的超时时间。当您的应用服务器运行缓慢/存在错误并挂起时,此功能非常有用,您宁愿返回超时并正常失败,而不是等待服务器返回所需的时间。


默认值是 Timeout 指令的值,默认为 300 秒。因此,请尝试增加 ProxyTimeout 并查看是否有帮助。

PS 请记住,Tomcat 也可能有自己的超时。 这个文件还有更多信息(但请记住,我没有这些设置的亲身经历)。

答案2

如果您只想更改 ajp 代理的超时时间而不是全局的超时时间,您可以添加“timeout”参数,如下所示:

<Location /blah>
  ProxyPass ajp://localhost:8010/blah timeout=600
  ProxyPassReverse ajp://localhost:8010/blah
</Location>

相关内容