gpt4 book ai didi

java - 使用 AJP 连接器和 mod_proxy 在 Tomcat 前面的 Apache 出错

转载 作者:搜寻专家 更新时间:2023-11-01 00:51:03 26 4
gpt4 key购买 nike

我在一组三个 tomcat6 服务器前面有一个 Apache 服务器(服务器版本:Apache/2.2.22 (Ubuntu))。 Apache 使用 mod_proxy 和 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 使用以下 JAVA_OPTS 运行:

-Xms2048m -Xmx2048m -XX:NewSize=256m 
-XX:MaxNewSize=356m -XX:PermSize=256m -XX:MaxPermSize=356m

系统工作正常,但是过了一会儿我从 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 才能使其再次工作。

知道发生了什么事吗???谷歌搜索了一段时间后,这似乎是一个很常见的问题,但是我没有找到合适的解决方案。

感谢您的帮助!

最佳答案

有点取决于情况 - 一个非常常见的原因是无害的;见:

http://mail-archives.apache.org/mod_mbox/tomcat-users/200905.mbox/%3C6B028542C4A77D4CB7F06CCC1C1AEB1D018BC5CEE0@AUSP01VMBX03.collaborationhost.net%3E

即apache 关闭,因为客户端(浏览器)关闭了 TCP 连接,并且在 tomcat 将其回复发送到内部 TCP 套接字之前,所有连接都已传播。

所以我会提高日志级别来确认它 - 然后适本地降低它以用于生产。

关于java - 使用 AJP 连接器和 mod_proxy 在 Tomcat 前面的 Apache 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16857919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com