Reverse proxy Apache et alias qui se chevauchent : il faut une exclusion
En utilisant le drapeau !
en second argument de la directive ProxyPass
il est possible d’exclure un chemin.
Petite subtilité Apache du jour.
Soit un virtualhost classique avec ce contenu :
Alias /data/db/products/ /opt/app/public/pictures/
ProxyPass /uneRoute http://localhost:1234/uneRoute
ProxyPassReverse /uneRoute http://localhost:1234/uneRoute
ProxyPass /unService http://localhost:5678/uneService
ProxyPassReverse /unService http://localhost:5678/uneService
ProxyPass / http://localhost:8000/frontEnd
ProxyPassReverse / http://localhost:8000/frontEnd
Dans ce cas précis, les images qui seront demandées à partir du chemin /data/db/products/
ne seront pas trouvées
car elles vont être traitées dans la dernière règle de mandataire inverse.
Pour éviter cela, il faut l’exclure en ajoutant (avant la règle fautive) une autre règle de mandataire, avec le drapeau d’exclusion !
:
ProxyPass /data/db/products !