Je travaille sur une application web que j'utilise sur Tomcat 6.0.18, et j'utilise Apache 2 comme proxy inverse. Cela fonctionne bien. J'essaye également d'obtenir Apache pour montrer des pages d'erreur quand, par exemple, j'ai arrêté Tomcat pour le redéploiement etc. Cependant, la directive ErrorDocument
dans mon httpd.conf ne semble pas fonctionner du tout pour des dossiers locaux. J'ai essayé des URL et des chaînes externes et ces deux cas fonctionnent bien. Mais ce qui suit ne fonctionne pas:ErrorDocument ne fonctionne pas avec le fichier local
ErrorDocument 403 /Oops.html
ErrorDocument 404 /Oops.html
ErrorDocument 502 /Oops.html
ErrorDocument 503 /Oops.html
Le fichier Oops.html se trouve dans mon dossier htdocs. Voici quelques sortie du journal de httpd quand j'essayez d'accéder à l'application lorsque Tomcat ne fonctionne pas, mais httpd est:
==> access_log <==
localhost - - [21/Nov/2010:12:23:36 -0800] "GET /home HTTP/1.1" 503 -
==> error_log <==
[Sun Nov 21 12:23:36 2010] [debug] mod_proxy_http.c(54): proxy: HTTP: canonicalising URL //localhost:8080/home
[Sun Nov 21 12:23:36 2010] [debug] proxy_util.c(1412): [client ::1] proxy: http: found worker http://localhost:8080/ for http://localhost:8080/home
[Sun Nov 21 12:23:36 2010] [debug] mod_proxy.c(819): Running scheme http handler (attempt 0)
[Sun Nov 21 12:23:36 2010] [debug] mod_proxy_http.c(1693): proxy: HTTP: serving URL http://localhost:8080/home
[Sun Nov 21 12:23:36 2010] [debug] proxy_util.c(1790): proxy: HTTP: retrying the worker for (localhost)
[Sun Nov 21 12:23:36 2010] [error] proxy: HTTP: disabled connection for (localhost)
[Sun Nov 21 12:23:36 2010] [debug] mod_proxy_http.c(54): proxy: HTTP: canonicalising URL //localhost:8080/Oops.html
[Sun Nov 21 12:23:36 2010] [debug] proxy_util.c(1412): [client ::1] proxy: http: found worker http://localhost:8080/ for http://localhost:8080/Oops.html
[Sun Nov 21 12:23:36 2010] [debug] mod_proxy.c(819): Running scheme http handler (attempt 0)
[Sun Nov 21 12:23:36 2010] [debug] mod_proxy_http.c(1693): proxy: HTTP: serving URL http://localhost:8080/Oops.html
[Sun Nov 21 12:23:36 2010] [debug] proxy_util.c(1790): proxy: HTTP: retrying the worker for (localhost)
[Sun Nov 21 12:23:36 2010] [error] proxy: HTTP: disabled connection for (localhost)
Notez que je ne suis pas à l'aide d'un fichier .htaccess. Il semble qu'il y ait un problème avec les paramètres liés au dossier htdocs. Voici quelques bits de mon fichier httpd.conf qui concerne le foler htdocs. Je suis nouveau à travailler avec Apache, donc je ne suis pas sûr à quel point c'est pertinent ou si je devrais poster plus.
<Directory "/usr/local/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Toute aide très appréciée!
EDIT:
Lorsque Tomcat est en cours d'exécution je vois ces lignes dans le journal des erreurs:
[Sun Nov 21 13:30:11 2010] [error] [client ::1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Sun Nov 21 13:30:11 2010] [debug] core.c(3046): [client ::1] r->uri = /Oops.html
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri = /Oops.html
[Sun Nov 21 13:30:11 2010] [debug] core.c(3052): [client ::1] redirected from r->uri =/
Quelque chose n'est pas configuré correctement mais je ne I quoi ou où. Merci pour les réponses à ce jour, mais toujours perplexe.
Avez-vous des RewriteRules quelque part le long de la ligne, peut-être dans un répertoire plus haut l'arbre ou dans la configuration? .... Bien qu'à la réflexion, cela pourrait être une récursivité car il ne trouve pas le document 404 et ne trouve pas le document 404 et ainsi de suite et ainsi de suite ... –
check is 'DocumentRoot' +'/Ops.html' = '/ usr/local/apache2/htdocs/Ops.html'? sorte de penser que vous utilisez différent DocumentRoot – ajreal
@ajreal: J'ai désactivé tous les mandataires et supprimé les directives de document d'erreur et redémarré. J'ai été en mesure d'accéder à quelques autres pages dans le répertoire que j'ai configuré comme DocumentRoot, donc cela semble correctement configuré. – richever