Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ajp invalid message received with signature

Tags:

I am using Tomcat 7.0.29 fronted with Apache 2.2.22 modproxy. Configured Ajp as the protocol in httpd.conf and AjpNioProtocol in server.xml. After the server starts, the logs are filled with the following message:

Severe: Invalid message received with signature 20599
com.apache.coyote.ajp.AjpMessage processHeader

There are no requests sent to the web or tomcat server and it still throws that error. Access logs in tomcat and apache show that no request is coming in. What is causing the invalid message error?

Here is the configuration :

  • httpd.conf

    ProxyPass /wl ajp:// ip : port /wl ProxyPassReverse /wl ajp:// ip : port /wl 
  • server.xml

    <Connector port="port"             protocol="org.apache.coyote.ajp.AjpNioProtocol"             connectionTimeout="20000"             acceptorThreadCount="2"             maxThreads="1600"             redirectPort="8443" /> 
like image 750
Yasser Avatar asked Aug 06 '12 21:08

Yasser


2 Answers

For me, the problem was simple. I was sending HTTP requests but the connector was configured with AJP protocol. My connector in server.xml was configured like this:

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

But when I changed it to this:

<Connector port="8009" protocol="HTTP/1.1" redirectPort="8443"/> 

The error went away.

Hopefully that will help someone with this error.

like image 73
smntx Avatar answered Sep 19 '22 15:09

smntx


This may also happen when buffer sizes are not same at both ends: logs mention invalid AJP message and browser receive 400 error code.

I have fixed the situation with both packetSize on AJP connector and ProxyIOBufferSize in Apache2 configuration.

In Tomcat server.xml:

<Connector protocol="AJP/1.3" port="8009"    connectionTimeout="20000"    packetSize="65536"    proxyName="yourproxy.domain.ltd" proxyPort="80"    /> 

In Apache2 mod_proxy_ajp configuration, add the statement ProxyIOBufferSize 65536.

like image 31
Yves Martin Avatar answered Sep 18 '22 15:09

Yves Martin