我有一个带有JBoss实例的apache2运行的linux服务器。Apache2将使用AJP连接向JBoss反向代理。
我在apache error.log中找到了这些消息:
[error] (70007)The timeout specified has expired: ajp_ilink_receive() can't receive header
[error] ajp_read_header: ajp_ilink_receive failed
[error] (120006)APR does not understand this error code: proxy: read response failed from 8.8.8.8:8009 (hostname)
[error] (111)Connection refused: proxy: AJP: attempt to connect to 8.8.8.8:8009 (hostname) failed
[error] ap_proxy_connect_backend disabling worker for (hostname)
[error] proxy: AJP: failed to make connection to backend: hostname
[error] proxy: AJP: disabled connection for (hostname)25
我搜索了一下,但似乎找不到任何相关的话题。有人说,这种行为可能是由于apache配置不当造成的。告诉apache允许的最大连接量要比jboss大得多,导致apache连接超时。
但是我知道这个应用程序当时没有被成千上万的同时连接使用,甚至不是几百个连接,所以我不相信这可能是一个原因。
有谁有主意吗?或者可以告诉我如何调试这个问题?
我正在使用这些版本:
谢谢
发布于 2012-11-30 20:21:45
4.2.3JBOSS,您应该增加server.xml中允许的ajp连接的数量。如果未设置此值,则默认值为40,这太低了。将其提高到比当前最大连接量高20%。如果您有数百个简单的连接,请将其设置为512,并使用状态控制台监视它。
发布于 2012-10-12 10:23:09
我相信你所看到的行为可能是由以下jboss问题引起的:
https://issues.jboss.org/browse/JBPAPP-366
此问题导致AJP线程在具有CLOSED_WAIT状态的套接字上无限期地阻塞。当到达来自AJP连接器的"maxProcessors“限制时,jboss就无法通过AJP响应更多的请求,从而导致在Apache日志中出现错误。
正如票证中所建议的,这可以通过几个步骤解决:
https://serverfault.com/questions/435945
复制相似问题