Lorsque 2 serveurs d'applications fonctionnent en binôme il n'est pas toujours aisé de gérer correctement les pages d'erreur et parmi elles la fameuse page 404.
Où faut il mettre gérer cette page ? Dans httpd ? Dans tomcat ? Comment être sûr qu'elle soit correctement gérée ?
Lorsqu'il y a 2 serveurs d'applications travaillant pour la même application, il faut savoir quel est le travail de chacun.
Dans le cas du serveur httpd, il s'agit des ressources statiques que sont les pages statiques (.htm et .html), les scripts (.js et .css) et les images (.jpg, .gif, .png). Pour tomcat, il s'agit des servlets et des pages JSP.
Chaque serveur est capable de gérer lui-même la page de retour (et donc le code retour) en cas de ressource introuvable.
Pour httpd, il s'agit de la directive DocumentError prenant 2 paramètres (le code erreur traité et la page qui lui est affectée) (par exemple) :
et pour tomcat du bloc xml :
Le problème qui se pose avec ces 2 serveurs d'applications est qu'il faut unifier les "pages 404".
Il y a plusieurs possibilités :
- Utiliser 2 pages distincts, une pour httpd et une autre pour tomcat
- Utiliser une page HTML pour les 2 serveurs d'applications
- Utiliser une page JSP pour à la fois httpd et tomcat
La seule solution "satisfaisante" permettant de produire une page d'erreur personnalisable tout en renvoyant le code retour correct (404) est de mettre pour httpd une page d'erreur JSP... inextistante...
Par exemple, pour httpd :
et pour tomcat :
Donc, en cas de demande d'une ressource statique n'existant pas, httpd tentera de produire une page JSP n'existant pas à tomcat qui prendra à son tour la relève en produisant la bonne page d'erreur en produisant le bon code erreur...
Articles similaires
| Commentaires |
|













