长时间运行的进程通过apache代理超时,但不绕过代理

所以我有这个基于tomcat的webapp。 这个webapp的一部分可以让你上传一个文件,然后在后台数据库中进行检查。 这个过程需要很长时间,在某些情况下最多可达15分钟。 现在蹭的是,当我通过apache运行这个过程时,我得到5分钟的超时,但是当我直接运行在tomcat上时没有。 然后它就变得更加奇怪了,因为这个过程甚至通过代理也可以正常工作。 IE和FF呛,虽然在5分钟的标志。 看看networkingstream量,看起来客户端正在发送TCP断开连接并且终止连接。

(总结)

直接通过HTTP对抗tomcat:

  • IE:好
  • FF:好
  • CH:好

通过HTTP / HTTPS代理:

  • IE:5M超时
  • FF:5M超时
  • CH:好

由于它通过chrome工作,所以我想这是一个IE / FF问题。 但是,因为它绕过代理通过IE / FF工作,我倾向于认为这是一个代理问题。 无论如何,我都很难过。 人们开始抱怨。 所以任何人有任何想法,为什么会发生这种情况? 我很高兴发布任何必要的日志/ conf文件…

我的代理configuration如下:

ProxyPass / unit ajp:// appserver:8100 / unit timeout = 1800

ProxyPassReverse / unit ajp:// appserver:8100 / unit

编辑:添加版本:

  • Apache 2.2.3
  • Tomcat 5.5.27
  • IE 8
  • FF 4
  • Chrome 12

编辑2:添加stream量示例:

这是从服务器(10.122.39.81)。

17:01:49.048093 IP 10.3.0.50.10448 > 10.122.39.81.443: . 102019:103231(1212) ack 146 win 65303 17:01:49.048531 IP 10.122.39.81.443 > 10.3.0.50.10448: . ack 103231 win 65535 17:01:49.048583 IP 10.3.0.50.10448 > 10.122.39.81.443: . 103231:104443(1212) ack 146 win 65303 17:01:49.048685 IP 10.3.0.50.10448 > 10.122.39.81.443: P 104443:105633(1190) ack 146 win 65303 17:01:49.048690 IP 10.122.39.81.443 > 10.3.0.50.10448: . ack 105633 win 65535 17:05:26.337167 IP 10.3.0.50.10448 > 10.122.39.81.443: R 2183272713:2183272713(0) ack 1747376881 win 9300 

如您所见,连接信号的结束来自客户端,而不是服务器。 通常,我只是说“好的,这是一个客户端问题”。 唯一让我不能理解的事实是,通过端口8001直接访问tomcat服务器时,同样的过程是成功的。

在这一点上,我的想法是:

  • 代理服务器configuration不正确,但以一些奇怪的方式,在客户端设置超时

要么

  • 这是一个客户端问题,但由于某种原因,它只影响通过端口80或端口443的stream量。