6 votes

ErrorDocument lors de l'utilisation d'Apache en tant que reverse-proxy

'soir,

J'ai un serveur Apache (2.2.19) et un serveur Webstar 4D (un serveur HTTP un peu inconnu) sur le même serveur physique. Apache n'écoute que le port SSL (443) et est utilisé comme reverse-proxy vers 4DW (via un VHost SSL).

Voici les deux directives de proxy que j'utilise :

ProxyPass / http://127.0.0.1:xxxx/ timeout=15 connectiontimeout = 15
ProxyPassReverse / http://127.0.0.1:xxxx/

Étant donné que le serveur 4DW peut être hors ligne de temps en temps, j'aimerais avoir une page d'erreur 503 personnalisée pour informer les utilisateurs de l'indisponibilité ou de la maintenance de l'application en arrière-plan. Sauf qu'Apache redirige tout depuis /htdocs/ (qui est le documentroot) et nous avons besoin d'un accès rapide au errordocument pour le modifier en cas de besoin (donc, un errordoc externe n'est pas une option).

Y a-t-il un moyen de forcer Apache à ne pas proxyfier un répertoire donné (disons htdocs/error/), ou toute solution permettant d'utiliser un errordocument en dehors de DocumentRoot?

Santé

8voto

Shane Madden Points 112034

Bien sûr, il suffit de l'exclure des règles ProxyPass. Ces règles sont évaluées dans l'ordre, donc assurez-vous que l'exclusion est en haut :

ErrorDocument 503 /error/503.html
ProxyPass /error/ !
ProxyPass / http://127.0.0.1:xxxx/ timeout=15 connectiontimeout = 15
ProxyPassReverse / http://127.0.0.1:xxxx/

0 votes

A bien fonctionné, merci!

5 votes

Dans l'intérêt des chercheurs, je pense que vous auriez en réalité besoin que la directive ProxyErrorOverride soit en vigueur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X