我正在尝试解决一个关于使用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)
我不知道。有人能帮我吗?
5条答案
按热度按时间lb3vh1jj1#
将connectionTimeout和keepAliveTimeout添加到/etc/tomcat 7/server. xml中的AJP连接器。
有关https://tomcat.apache.org/tomcat-7.0-doc/config/ajp.html处的AJP连接器的信息
如果没有定义connectionTimeout和keepAliveTimeout值,那么AJP连接将无限保持活动状态。导致许多线程,默认最大线程数为200。
我建议安装psi-probe -一个高级的Apache Tomcat管理器和监视器,从Lambda Probe派生而来。https://code.google.com/p/psi-probe/
iqih9akk2#
在http://javaworkbench.blogspot.co.at/2013/09/apache-web-server-tomcat-ajp.html中可以找到对该问题以及如何解决该问题的非常好的解释。
简而言之:-将Apache 'MaxClients'配置为等于Tomcat AJP 'maxConnections'配置。-将Tomcat AJP 'keepAliveTimeout'配置为在一段时间不活动后关闭连接。
pn9klfpd3#
我正在使用tomcat 8与apache 2.2和Centos,发现问题说:
我应用的解决方案,它的工作完美:
下面是一个来自tomcatserver.xml的示例:
如果你喜欢这个解决方案,请投票给答案。干杯
e5njpo684#
试试这个:
1.尝试增加线程数。(它将推迟错误)
1.在tomcat配置中,尝试使用
"org.apache.coyote.ajp.AjpProtocol"
代替APR。bxgwgixi5#
我遇到了同样的问题,我想知道为什么我找不到任何关于我的解决方案:我只需要在
Connector
配置中将secretRequired
设置为false
:我的Apache HTTPD配置:
请注意,这可能是不安全的。也许最好保留
secretRequired="true"
并在Apache HTTPD端修复它。我只是想至少给予其他有同样问题的人一个提示。