Tomcat cesse de répondre à Apache

J’essaie de résoudre un problème concernant la connexion d’Apache et Tomcat avec mod_proxy_ajp. Dans mon cas, le Tomcat arrête de répondre à Apache, et le journal Apache imprime le message d’erreur suivant:

[Mon May 06 15:22:47 2013] [error] ajp_read_header: ajp_ilink_receive failed [Mon May 06 15:22:47 2013] [error] (120006)APR does not understand this error code: proxy: read response failed from [::1]:18009 (localhost) 

Je n’ai aucune idée. Est-ce que quelqu’un peut m’aider?

Essaye ça :

  1. essayez avec augmenter le nombre de nombre de threads. (Il reportera les erreurs)
  2. Dans la configuration tomcat, essayez plutôt "org.apache.coyote.ajp.AjpProtocol" que l’APR.

Ajoutez connectionTimeout et gardezAliveTimeout sur votre connecteur AJP situé dans /etc/tomcat7/server.xml.

  

Informations sur le connecteur AJP à l’ adresse https://tomcat.apache.org/tomcat-7.0-doc/config/ajp.html

  • connectionTimeout = Nombre de millisecondes que ce connecteur attend, après avoir accepté une connexion, pour que la ligne URI de la requête soit présentée. La valeur par défaut pour les connecteurs de protocole AJP est -1 (c’est-à-dire infinie).

  • keepAliveTimeout = Nombre de millisecondes pendant lesquelles ce connecteur attendra une autre requête AJP avant de fermer la connexion. La valeur par défaut consiste à utiliser la valeur définie pour l’atsortingbut connectionTimeout.

Si les valeurs connectionTimeout et keepAliveTimeout ne sont pas définies, les connexions AJP seront conservées pour une durée infinie. Causant de nombreux threads, le nombre maximum de threads par défaut est de 200.

Je recommande l’installation de psi-probe, un gestionnaire et un moniteur avancés pour Apache Tomcat, issus de Lambda Probe. https://code.google.com/p/psi-probe/

Vous trouverez une très bonne explication du problème et la manière de le résoudre à l’ adresse http://javaworkbench.blogspot.co.at/2013/09/apache-web-server-tomcat-ajp.html .

en bref: – Configurez Apache ‘MaxClients’ pour qu’il soit égal à la configuration de Tomcat AJP ‘maxConnections’. – Configurez Tomcat AJP ‘keepAliveTimeout’ pour fermer les connexions après une période d’inactivité.

J’utilise tomcat 8 avec Apache 2.2 et Centos, a trouvé le problème en disant:

 [error] ajp_read_header: ajp_ilink_receive failed [error] (70007)The timeout specified has expired: proxy: read response failed 

La solution que j’ai appliquée et qui a fonctionné parfaitement:

 1. Configure Apache 'MaxClients' to be equal to the Tomcat AJP 'maxConnections' configuration. 2. Configure Tomcat AJP 'keepAliveTimeout' to close connections after a period of inactivity. 

Voici un exemple de tomcat server.xml:

  

votez pour la réponse si vous avez aimé cette solution. à votre santé