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

标签 apache tomcat proxy

我已经使用以下指令在 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 格式的用户数组。不幸的是,我得到了:

The connection has timed out

The server at xxx.xxx.xxx.xxx is taking too long to respond.

最佳答案

代理连接到 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) 代理不断超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4120367/

相关文章:

apache - 如何在 Windows 7 上安装 Apache Bench?

php - Slim 框架 - 无法用点解释路由

mysql - SQLException: 找不到合适的驱动程序

php - 找不到套接字传输 "username"(cURL 或 docker 容器内的 composer)

.net - .NET 中有什么方法可以以编程方式监听 HTTP 流量吗?

Python requests.packages.urllib3.connection.VerifiedHTTPSConnection [Errno 11004]

php - 在 symfony 和 apache 中提供静态文件

php - 使用 mod_rewrite 删除 .php 扩展并同时清理 GET url

Java Web 应用程序线程在 java.net.SocketInputStream.socketRead0( native 方法)中因数据库操作而卡住

java - 如何管理与动态创建的数据库的连接