代理_AJP: 错误 (70007)指定的超时已过期:

37

我在error_log中遇到了错误。我发现需要增加ProxyTimeout

然而,我找不到应该在哪里更改它。我只能将这个添加到server.xml中:

<Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="600000"
               redirectPort="8443" />

你有没有想过如何准确地增加ProxyTimeout?

我正在使用来自AWSUbuntuApache Tomcat v7

我尝试将以下内容添加到proxy-html.conf中:

ProxyRequests On 
<Proxy *>
    AddDefaultCharset off
    Order deny,allow
    Allow from all
</Proxy>
ProxyPreserveHost Off
ProxyTimeout 1200

我已经将这个添加到httpd.conf中:
TimeOut 600

我已经重新启动了Tomcat服务器,但以上配置都没有帮助。
顺便说一下,这是确切的错误,我不明白为什么会提到代理。我没有通过任何代理服务器连接...问题发生在我提交表单时,这会触发一些复杂的处理。然后在大约60秒后超时。然而,程序仍在运行,只是请求超时了。
错误:
[Thu Aug 13 07:34:21.677693 2015] [proxy_ajp:error] [pid 1515] (70007)The timeout specified has expired: AH01030: ajp_ilink_receive() can't receive header
[Thu Aug 13 07:34:21.677769 2015] [proxy_ajp:error] [pid 1515] [client 212.130.108.58:52206] AH00992: ajp_read_header: ajp_ilink_receive failed, referer: http://52.17.109.177/Visma_UploadInterface/MappingServlet
[Thu Aug 13 07:34:21.677782 2015] [proxy_ajp:error] [pid 1515] (70007)The timeout specified has expired: [client 212.130.108.58:52206] AH00878: read response failed from 127.0.0.1:8009 (localhost), referer: http://52.17.109.177/Visma_UploadInterface/MappingServlet
3个回答

51

我通过将这两行简单的代码添加到httpd.conf文件中解决了问题:

Timeout 600
ProxyTimeout 600

我还重新启动了整个服务器,而不仅仅是Tomcat。不知道是否必要,但似乎是这样。


27
你所需的只是在 Apache 中添加 ProxyTimeout 600 来增加代理超时时间,然后重新启动 Apache (而不是 Tomcat)。 - Joe Ernst
1
最终我解决了它,谢谢Under Taker。 - Sudhanshu Gaur
1
哈哈,我看到你的操作了,@SudhanshuGaur - Ondrej Tokar

0

我已经解决了它,修改了现有的虚拟主机配置。

<Proxy "unix:/run/php/php7.2-fpm-example.sock|fcgi://localhost">
   ProxySet timeout= 600
</Proxy>

<FilesMatch \.php$>
  SetHandler "proxy:fcgi://localhost"
</FilesMatch>

0
嘿,上面标记的解决方案并不完全正确,它可以在非常高的延迟情况下有所帮助,但问题完全不同,因为它通过重新启动来修复。 我们也遇到过类似的问题。真正的原因是Tomcat的AJP端口被“nsrexecd”服务占用,如附图所示的“8609”。所以我们只需重新启动“nsrexecd”服务,Tomcat的AJP端口就会释放。我们再次重启Tomcat,它就能在“8609”上提供AJP连接了。nsrexecd占用端口8609 在您的情况下,重新启动服务器完成了工作,因为它重新启动了您的“特定服务”,释放了Tomcat的8009端口,并开始使用与“8009”不同的端口。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接