Tomcat 的 Apache (httpd) 代理不断超时

Posted

技术标签:

【中文标题】Tomcat 的 Apache (httpd) 代理不断超时【英文标题】:Apache (httpd) Proxy of Tomcat Continually Timing Out 【发布时间】:2011-05-06 10:38:00 【问题描述】:

我已使用以下指令在 CentOS 版本 5 上为 Tomcat (6.0.26) 配置了一个 Apache(httpd 版本 2.2)服务器作为代理。不幸的是,每个请求都超时了。我检查了 httpd 和 tomcat 日志,没有错误。有谁知道可能出了什么问题?谢谢。

ProxyPass /ws-app http://xxx.xxx.xxx.xxx:8080/ws-app
ProxyPassReverse /ws-app http://xxx.xxx.xxx.xxx:8080/ws-app

当我输入 url -- http://xxx.xxx.xxx.xxx/ws-app/user/list 时,我希望有一个 xml 格式的用户数组。不幸的是,我得到的是:

连接超时

xxx.xxx.xxx.xxx 的服务器响应时间过长。

【问题讨论】:

【参考方案1】:

代理连接到 Tomcat HTTP 连接器的情况非常少见。为什么不使用 AJP 连接器?这将带来更多的性能!

确保您的 server.xml 中有此内容:

<Connector port="8009" redirectPort="8443" protocol="AJP/1.3" />

然后安装mod_proxy_ajp并使用如下配置:

ProxyPass /ws-app ajp://xxx.xxx.xxx.xxx:8009/ws-app
ProxyPassReverse /ws-app ajp://xxx.xxx.xxx.xxx:8009/ws-app

还请检查远程主机上的端口 8009 的连接是否未被防火墙阻止。

【讨论】:

以上是关于Tomcat 的 Apache (httpd) 代理不断超时的主要内容,如果未能解决你的问题,请参考以下文章

Apache httpd + tomcat 简单集群

Tomcat 的 Apache (httpd) 代理不断超时

如何将 websocket 请求从 Apache httpd 转发到 Apache Tomcat?

Apache httpd 与nginx及tomcat的区别

apache httpd, nginx, tomcat, jboss

如何将 SSL 从 Tomcat 迁移到 Apache HTTPD?