`
01404421
  • 浏览: 228499 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

apache使用proxypass连接tomcat 的一个问题 error(120006)

阅读更多

 

apache使用proxypass连接tomcat 的一个问题,apache的error log片段如下

 

我使用apache管理了多个tomcat,每个tomcat都使用不同的端口,其他网站都可以正常访问,但是今天新增了一个就出现这个问题,非常奇怪

 

[Wed Mar 09 11:19:50 2011] [error] ajp_read_header: ajp_ilink_receive failed
[Wed Mar 09 11:19:50 2011] [error] (120006)APR does not understand this error code: proxy: read response failed from (null) (localhost)
[Wed Mar 09 11:19:53 2011] [error] (70014)End of file found: ajp_ilink_receive() can't receive header
[Wed Mar 09 11:19:53 2011] [error] ajp_read_header: ajp_ilink_receive failed
[Wed Mar 09 11:19:53 2011] [error] (120006)APR does not understand this error code: proxy: read response failed from (null) (localhost)
[Wed Mar 09 11:19:53 2011] [error] (70014)End of file found: ajp_ilink_receive() can't receive header
[Wed Mar 09 11:19:53 2011] [error] ajp_read_header: ajp_ilink_receive failed
[Wed Mar 09 11:19:53 2011] [error] (120006)APR does not understand this error code: proxy: read response failed from (null) (localhost)
[Wed Mar 09 11:19:54 2011] [error] (70014)End of file found: ajp_ilink_receive() can't receive header
[Wed Mar 09 11:19:54 2011] [error] ajp_read_header: ajp_ilink_receive failed
 在网上搜了很多方法,都是不能解决问题,后来经过排查,发现和 ajp的端口有关系,原来使用的是8009,修改为大于8010的端口即可,问题解决了,但是不知道原因,希望对遇到相同问题的朋友们有帮助,或者有人知道原因,请分享一下
0
3
分享到:
评论
3 楼 xieyongwei 2013-12-31  
你错了
产生真个原因是死锁造成的
很有可能Tomcat中项目使用了JNDI数据源,数据库驱动使用了Oracle的旧版本。
下面是一个老外的答案:


It turns out that this version (classes12 - quite old) of the Oracle driver had various bugs in it that caused a deadlock (as seen in the TP-Processor2 state quoted above). It didn't become active until we switched to the new environment. Upgrading to the latest version (ojdbc14) has resolved the issue on the primary server.
2 楼 zxh56964106 2012-04-06  
我也遇到了同样的问题,我是这样解决的:
在apache的配置文件中:
ProxyRequests Off
     <proxy balancer://cluster>
          BalancerMember ajp://192.168.9.103:8009 loadfactor=1 route=jvm1
          BalancerMember ajp://192.168.9.103:9009 loadfactor=1 route=jvm2
     </proxy>
上面的代码是用来告知apache进行负载均衡的,使用了两个tomcat后面的端口就是ajp的连接端口,而这两个端口需要在相应的tomcat下的server.xml进行配置。
具体如下:
例如:tomcat1:
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
tomcat2:
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />
我的问题就是这样解决的。
1 楼 peyote 2011-11-25  
楼主是怎么通过排查发现和ajp端口有关系的?

相关推荐

    win2003下 apache+tomcat集成

    而Tomcat是Apache软件基金会的项目,是一个开源的Java Servlet容器,它实现了Java EE的Web应用服务器部分,主要用于运行Java Web应用程序。 集成步骤通常包括以下几个关键环节: 1. **安装Apache**:下载并安装...

    linux 下 apache + tomcat 配置多个域名(包括二级域名)

    在Linux环境中,使用Apache HTTP服务器和Tomcat应用服务器配置多个域名(包括二级域名)是一项常见的任务,这可以实现一个服务器托管多个网站或者服务。Apache通常作为前端服务器处理静态内容,而Tomcat则作为后端...

    apache +tomcat集群 ajp_proxy实际操作

    通过AJP Proxy,Apache可以将请求转发给后端的多个Tomcat实例,从而实现负载均衡。 **1. 引入模块** - 在`httpd.conf`文件中添加以下内容来加载所需的模块: ```apache LoadModule proxy_module modules/mod_...

    win_apache_tomcat安装配置

    通过上述步骤,我们可以实现Apache与Tomcat的有效整合,从而构建一个功能强大的Web应用平台。需要注意的是,在实际部署过程中,还需要考虑安全性、性能优化等方面的问题,以确保系统的稳定性和高效性。

    apache tomcat 集群

    mod_jk是Apache的一个模块,专门用于处理Java应用服务器的连接,如Tomcat。在Apache 2.2版本中,这个模块已经内置,配置过程比早期版本更加简洁。以下是如何设置Apache Tomcat集群的步骤: 1. **启用Apache代理模块...

    apache设置域名绑定 以及绑定不起作用的排查.docx

    如果没有,Apache会默认使用第一个`VirtualHost`配置作为所有IP的主站点。 2. **检查VirtualHost配置** 确保每个`VirtualHost`块都有唯一的`ServerName`或`ServerAlias`。如果配置重复,Apache可能会忽略某些设置...

    linux服务器配置资料

    - `DirectoryIndex`用于指定当访问一个目录但未提供具体文件名时,Apache应加载哪个文件作为默认页面。例如,`DirectoryIndex index.html index.html.var index.php`将使Apache优先尝试加载这些文件中的第一个可用...

    Apache配置 虚拟转向实例

    Apache配置虚拟转向是一种常见的Web服务器设置,用于在一个IP地址或端口上托管多个独立的网站。这在服务器资源有限或者需要为不同的域名提供不同服务时非常有用。在本例中,我们将深入理解如何配置Apache来实现虚拟...

Global site tag (gtag.js) - Google Analytics