2009-06-01 6 views
2

Nous avons des serveurs indépendants, connectés derrière un équilibreur de matériel. Chacune des machines exécute Apache 2.2, Tomcat 5.0 et mod_proxy_ajp en tant que connecteur.Désactiver la réponse Apache 503 lorsque Tomcat est arrêté

Tout fonctionne correctement, mais lorsque Tomcat est arrêté, Apache renvoie le code d'erreur 503 (comme prévu, je suppose). Le problème est notre équilibreur de charge, qui n'interprète pas les codes d'erreur. Il pense juste "oh, le serveur à la machine X a répondu -503 bla bla bla, peu importe - à ma demande, il semble fonctionner, continuons à envoyer des gens à ce serveur".

Est-il possible de dire à Apache de ne rien retourner dans ce cas, au lieu de l'erreur 503?

Répondre

1

Ce n'est pas possible. Votre demande d'équilibreur est nulle. Le remplacer.

De plus, «trois niveaux» ne signifie pas «équilibreur, apache et tomcat par-dessus». Balancer doit communiquer directement avec tomcat et laisser apache servir le contenu statique d'un domaine/serveur distinct. Cela permettrait également de résoudre votre problème immédiatement.

Aussi: appartient à serverfault!

+1

dur. mais vrai. l'équilibreur est dans le mauvais, pas apache. – nategood

+1

Oui, je sais, ça craint. Je souhaite que nous pourrions le remplacer ... mais nous ne pouvons pas. La communication directe entre l'équilibreur et Tomcat devrait le résoudre, nous allons l'essayer. Merci! – AJPerez

+0

@nategood: Je sais que ce n'est pas la faute d'Apache, c'est l'équilibreur. Mais Apache pourrait peut-être le résoudre de toute façon :), s'il était possible de désactiver la réponse d'erreur. – AJPerez

1

J'ai le même problème. Pour moi, le plus simple était de configurer Apache pour renvoyer une erreur 404. Pour modifier la configuration de l'équilibreur, je dois envoyer une demande au service de communication et attendre la réponse.

Questions connexes