Tag Archives: httpd

ajp_read_header: ajp_ilink_receive failed

Using the HTTPD proxy_AJp module, proxy_AJp.conf is configured as follows

ProxyPass /examples/ ajp://localhost:8009/examples/

error occurs when accessing http://hostname/examples:

[Wed Feb 01 15:56:37 2012] [error] (70014)End of file found: ajp_ilink_receive() can't receive header

[Wed Feb 01 15:56:37 2012] [error] ajp_read_header: ajp_ilink_receive failed

[Wed Feb 01 15:56:37 2012] [error] (120006)APR does not understand this error code: proxy: read response failed from (null) (localhost)

Tomcat startup information:

Feb 1, 2012 4:54:34 PM org.apache.catalina.startup.HostConfig deployDirectory

INFO: Deploying web application directory ROOT

Feb 1, 2012 4:54:35 PM org.apache.coyote.http11.Http11Protocol start

INFO: Starting Coyote HTTP/1.1 on http-8090

Feb 1, 2012 4:54:36 PM org.apache.jk.common.ChannelSocket init

INFO: Port busy 8009 java.net.BindException: Address already in use

Feb 1, 2012 4:54:36 PM org.apache.jk.common.ChannelSocket init

INFO: JK: ajp13 listening on /0.0.0.0:8010

Feb 1, 2012 4:54:36 PM org.apache.jk.server.JkMain start

INFO: Jk running ID=1 time=0/645 config=null

Feb 1, 2012 4:54:37 PM org.apache.catalina.startup.Catalina start

INFO: Server startup in 207063 ms

solution:

it can be seen from the tomcat startup information that port 8009 is used, so change the ajp port under conf/server.xml from 8009 to 8010


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

instead


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

ProxyPass is also modified to port 8010


ProxyPass /examples/ ajp://localhost:8010/examples/

specific why 8009 port is used, it is not clear, welcome to communicate.