Ajp message non valide reçu avec signature
J'utilise Tomcat 7.0.29 avec Apache 2.2.22 modproxy. Configuré Ajp comme protocole dans httpd.conf et Ajpniprotocol dans le serveur.XML. Après le démarrage du serveur, les logs sont remplis avec le message suivant:
grave: Message non valide reçu avec la signature 20599
COM.Apache.Coyote.ajp.AjpMessage processHeader
il n'y a pas de requêtes envoyées au serveur web ou tomcat et il envoie toujours cette erreur. Les journaux d'accès dans tomcat et apache montrer qu'aucune demande ne vient. Quelle est la cause de l'erreur de message invalide?
Voici la configuration :
httpd.conf
ProxyPass /wl ajp:// ip : port /wl ProxyPassReverse /wl ajp:// ip : port /wl
le serveur.xml
<Connector port="port" protocol="org.apache.coyote.ajp.AjpNioProtocol" connectionTimeout="20000" acceptorThreadCount="2" maxThreads="1600" redirectPort="8443" />
4 réponses
Pour moi, le problème était simple. J'envoyais des requêtes HTTP mais le connecteur était configuré avec le protocole AJP. Mon connecteur server.xml
a été configuré comme ceci:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
Mais quand je l'ai changé pour ceci:
<Connector port="8009" protocol="HTTP/1.1" redirectPort="8443"/>
L'erreur a disparu.
espérons que cela aidera quelqu'un avec cette erreur.
cela peut aussi se produire lorsque les tailles de tampon ne sont pas les mêmes aux deux extrémités: les journaux mentionnent un message AJP invalide et le navigateur reçoit 400
code d'erreur.
j'ai corrigé la situation avec les deux packetSize
connecteur AJP et ProxyIOBufferSize
en configuration Apache2.
Dans Tomcat server.xml
:
<Connector protocol="AJP/1.3" port="8009"
connectionTimeout="20000"
packetSize="65536"
proxyName="yourproxy.domain.ltd" proxyPort="80"
/>
Dans Apache2 mod_proxy_ajp de configuration, ajoute la déclaration ProxyIOBufferSize 65536
.
il a été constaté que l'un des processus internes appelait ce port et envoyait des requêtes http provoquant le "message invalide.." erreur. J'ai donc fini par ajouter un connecteur http supplémentaire pour ces processus internes
j'ai reçu un message similaire aujourd'hui:
Nov 18, 2016 4:25:00 PM org.apache.coyote.ajp.AjpMessage processHeader
SEVERE: Invalid message received with signature 65524
la cause profonde de mon problème était que selinux ne laissait pas apache se connecter à tomcat. Je suis un peu confus quant à la façon dont cette erreur a été un résultat - je m'attendais à ce qu'il n'y aurait pas de connexion, point. À mon avis, j'ai probablement essayé de me connecter manuellement à ce port avec telnet. Faire cela donne certainement un message similaire.
peu importe, peut-être que ce rappel selinux sera utile à quelqu'un d'autre qui finit ici.