J'essaie de comprendre ce qui se passe avec le message suivant dans notre journal d'erreurs Apache 2.2:
Wed May 18 21:03:29 2011] [error] [client 172.20.10.10] (70007)The timeout specified has expired: proxy: error reading status line from remote server super-load1-ga.test.com, referer: https://tester2.test.com/boom/ga/inside.as
p
Nous exécutons Apache 2.2 avec mod_proxy. Est-ce que Apache expire la requête liée à sa valeur TimeOut de 5 minutes dans httpd.conf? (Cela signifie qu'il ne reçoit pas de réponse du serveur distant en 5 minutes.) Ou s'agit-il simplement d'une réponse du serveur distant disant qu'il ne peut pas gérer la connexion?
Apache manque rapidement de MaxClients au moment où je vois cette erreur.
Exemple rapide d'entrée proxy:
ProxyPass /boom/ga https://super-load1-ga.test.com
ProxyPassReverse /boom/ga https://super-load1-ga.test.com
la source
Timeout
valeur globale sera utilisée. Voir httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxytimeout et httpd.apache.org/docs/2.2/mod/core. html # timeoutIl semble que votre serveur
https://super-load1-ga.example.com
prenne trop de temps pour répondre.Dans ce scénario, s'il se trouve juste là, le processus Apache va l'attendre. Ce processus est essentiellement bloqué, c'est-à-dire qu'il ne peut rien faire d'autre. Si vous n'expirez pas assez rapidement, vous allez manquer de processus Apache et frapper MaxClients qui semble avoir du sens.
Vous devriez avoir des journaux sur le site super-load1-ga.test.com pour voir combien de temps les demandes prennent, elles doivent prendre un certain âge.
Vous pouvez potentiellement raccourcir le délai d'expiration de la connexion ProxyPass
http://httpd.apache.org/docs/current/mod/mod_proxy.html#workers
la source
Pour répondre à votre question, oui, Apache2 httpd en mode proxy enregistre ce message d'erreur lorsque Apache2 httpd arrive à expiration. Si le serveur connecté à Apache2 httpd en mode proxy était la cause, il y aurait un message différent.
Le message comporte plusieurs parties:
The timeout specified has expired
est l'équivalent textuel duAPR_TIMEUP
code d'erreur, voir:srclib / apr / misc / unix / errorcodes.c
Ensuite ,
proxy: error reading status line from remote server super-load1-ga.test.com
est enmodules / proxy / mod_proxy_http.c
Si vous montez votre niveau de journal à APLOG_DEBUG, vous devriez voir un message supplémentaire:
proxy: read timeout
aussi.la source