J'ai une configuration existante pour rediriger le trafic vers un autre service en fonction du chemin d'URL, et si aucun chemin correspond par défaut à une « principale » charge service équilibréhttpd directe basée sur en-tête HTTP
<Proxy balancer://main>
BalancerMember http://main-service01:8080
BalancerMember http://main-service02:8080
</Proxy>
ProxyPreserveHost on
ProxyPassMatch "/server.txt" !
ProxyPassMatch "^/register/(.*)$" http://register_service/$1
ProxyPassMatch "^/login/(.*)$" http://login_service/$1
ProxyPassMatch "^/lookup/(.*)$" http://lookup_service/$1
ProxyPassMatch ".*" balancer://main-service nofailover=Off maxattempts=3 timeout=5
Cela fonctionne ! Maintenant, je souhaite étendre la fonctionnalité si la demande contient HTTP header environnement = dev, la demande doit être dirigée vers le serveur dev au lieu du serveur principal dans le cas où le chemin ne correspond pas à l'une des autres conditions
J'ai essayé d'ajouter ce juste au-dessus du «* » affaire, mais n'a pas fonctionné
RewriteCond %{HTTP:environment} dev
RewriteRule (.*) http://dev:8080/$1 [P]