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.