web-dev-qa-db-fra.com

Comment exclure une URL pour Apache Mod_proxy?

Nous avons deux serveurs Apache en tant que serveur frontal et 4 serveurs Tomcat en tant que serveur principal configurés à l'aide du module mod_proxy comme équilibreur de charge. Maintenant, nous voulons exclure une seule URL Tomcat de l'équilibreur de charge mod_proxy. Y a-t-il un moyen ou une règle à exclure?

Paramètre d'équilibrage du proxy:

<Proxy balancer://backend-cluster1>
   BalancerMember http://10.0.0.1:8080 loadfactor=1 route=test1 retry=10
   BalancerMember http://10.0.0.2:8080 loadfactor=1 route=test2 retry=10
</Proxy>
26
Mughil

Vous excluez les chemins de mod_proxy avec un point d'exclamation (!) Avant votre instruction ProxyPass complète, qui manque à votre exemple - Cela ressemblerait à quelque chose comme ProxyPass /path balancer://backend-cluster1. Par conséquent, pour exclure un chemin, ajoutez:

ProxyPass /my/excluded/path !

avant

ProxyPass /my balancer://backend-cluster1
43
Alastair McCormack

En plus de la réponse d'Alastair McCormack: si vous utilisez <Location>, vous devez mettre l'exception ci-dessous au lieu d'avant:

<Location /my/>
    ProxyPass balancer://backend-cluster1
</Location>

<Location /my/excluded/path/>
    ProxyPass !
</Location>
3
frame