Tomcat停止响应Apache

sez*_*ina 12 apache tomcat mod-proxy

我正在尝试解决有关使用mod_proxy_ajp连接Apache和Tomcat的问题.在我的情况下,Tomcat停止响应Apache,并且apache日志打印日志错误消息,如下所示:

[Mon May 06 15:22:47 2013] [error] ajp_read_header: ajp_ilink_receive failed
[Mon May 06 15:22:47 2013] [error] (120006)APR does not understand this error code: proxy: read response failed from [::1]:18009 (localhost)
Run Code Online (Sandbox Code Playgroud)

我不知道.有人可以帮帮我吗?

小智 10

将connectionTimeout和keepAliveTimeout添加到/etc/tomcat7/server.xml中的AJP连接器.

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" 
           connectionTimeout="10000" keepAliveTimeout="10000" />
Run Code Online (Sandbox Code Playgroud)

有关AJP连接器的信息,访问https://tomcat.apache.org/tomcat-7.0-doc/config/ajp.html

  • connectionTimeout =此连接器在接受连接后将等待呈现的请求URI行的毫秒数.AJP协议连接器的默认值为-1(即无限).

  • keepAliveTimeout =此连接器在关闭连接之前等待另一个AJP请求的毫秒数.默认值是使用为connectionTimeout属性设置的值.

如果未定义connectionTimeout和keepAliveTimeout值,则AJP连接将保持活动状态为无限.导致许多线程,默认最大线程为200.

我建议安装psi-probe - Apache Tomcat的高级管理器和监视器,从Lambda Probe派生.https://code.google.com/p/psi-probe/


小智 5

可以在http://javaworkbench.blogspot.co.at/2013/09/apache-web-server-tomcat-ajp.html找到对问题以及如何解决问题的非常好的解释.

简而言之: - 将Apache'MaxClients'配置为等于Tomcat AJP'maxConnections'配置. - 配置Tomcat AJP"keepAliveTimeout"以在一段时间不活动后关闭连接.


Aqe*_*eel 5

我将 tomcat 8 与 apache 2.2 和 Centos 一起使用,发现问题如下:

[error] ajp_read_header: ajp_ilink_receive failed
[error] (70007)The timeout specified has expired: proxy: read response failed
Run Code Online (Sandbox Code Playgroud)

我应用的解决方案非常完美:

1. Configure Apache 'MaxClients' to be equal to the Tomcat AJP 'maxConnections' configuration.
2. Configure Tomcat AJP 'keepAliveTimeout' to close connections after a period of inactivity.
Run Code Online (Sandbox Code Playgroud)

以下是 tomcat server.xml 的示例:

<Connector port="8009" protocol="AJP/1.3" maxConnections="256" keepAliveTimeout="30000" redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)

如果您喜欢这个解决方案,请投票给答案。干杯


Vai*_*ain 4

尝试这个 :

  1. 尝试增加线程数。(它会推迟错误)
  2. 在 tomcat 配置中尝试"org.apache.coyote.ajp.AjpProtocol"使用 APR。