Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用AJP连接器和mod_代理在Tomcat前面出现Apache错误_Java_Apache_Tomcat_Mod Proxy_Ajp - Fatal编程技术网

Java 使用AJP连接器和mod_代理在Tomcat前面出现Apache错误

Java 使用AJP连接器和mod_代理在Tomcat前面出现Apache错误,java,apache,tomcat,mod-proxy,ajp,Java,Apache,Tomcat,Mod Proxy,Ajp,我有一台Apache服务器(服务器版本:Apache/2.2.22(Ubuntu)),在三台tomcat6服务器前面。Apache使用mod_代理和AJP连接器设置为负载平衡器: <VirtualHost *:80> ProxyRequests off <Proxy balancer://mycluster> BalancerMember ajp://localhost:8009 keepalive=On retry=1 timeout=1

我有一台Apache服务器(服务器版本:Apache/2.2.22(Ubuntu)),在三台tomcat6服务器前面。Apache使用mod_代理和AJP连接器设置为负载平衡器:

<VirtualHost *:80>
    ProxyRequests off        
<Proxy balancer://mycluster>
    BalancerMember ajp://localhost:8009 keepalive=On retry=1 timeout=15 ping=1
    BalancerMember ajp://10.0.3.152:8009 keepalive=On retry=1 timeout=15 ping=1
    BalancerMember ajp://10.0.3.153:8009 keepalive=On retry=1 timeout=1 ping=15

    Order Deny,Allow
    Deny from none
    Allow from all
    ProxySet lbmethod=byrequests
</Proxy>

    <Location /balancer-manager>
            SetHandler balancer-manager 
            Order deny,allow
            Allow from all
    </Location>

    ProxyPass /balancer-manager !
    ProxyPass / balancer://mycluster/
</VirtualHost>
系统工作正常,但过了一段时间,我从Tomcat收到以下错误:

org.apache.jk.common.ChannelSocket processConnection 
WARNING: processCallbacks status 2
这是来自Apache的:

[error] ajp_read_header: ajp_ilink_receive failed
[error] (70007)The timeout specified has expired: proxy: read response failed from  127.0.0.1:8009 (localhost)
[error] (70007)The timeout specified has expired: ajp_ilink_receive() can't receive header
我必须重新启动Tomcat才能使它再次工作

知道发生了什么吗???在谷歌搜索了一段时间后,这似乎是一个相当普遍的问题,但我没有找到一个合适的解决方案


谢谢你的帮助

如果此帖子/问题尚未解决

尝试增加mod_代理超时设置


我见过的这类错误通常是由于Web服务调用的延迟造成的。

取决于具体情况——一个非常常见的原因是无害的;见:

i、 e.apache关闭,因为客户端(浏览器)关闭了TCP连接,并且在tomcat将其应答发送到内部TCP套接字之前,所有的TCP连接都已传播

因此,我会提高日志级别来确认它,然后根据生产需要适当地缩小它

[error] ajp_read_header: ajp_ilink_receive failed
[error] (70007)The timeout specified has expired: proxy: read response failed from  127.0.0.1:8009 (localhost)
[error] (70007)The timeout specified has expired: ajp_ilink_receive() can't receive header