web-dev-qa-db-fra.com

Configurer Apache avec plusieurs ProxyPass

j'essaie de configurer mon serveur Apache en tant que proxy pour desservir deux services internes, l'un écoutant sur 8080 et devant recevoir le trafic sur une URL spécifique et l'autre sur 8077 et devant recevoir tous les autres trafics http.

J'ai déployé et configuré Apache sur le même serveur sur lequel ces deux services sont en cours d'exécution. Il écoute 443 ainsi que toute la configuration SSL et fonctionne correctement.

j'ai également activé les modules proxy_proxy, proxy_http_module et proxy_http2_module

Ce que je veux réaliser 

si l'URL demandée est/webhook1 -> transmettez-la à EP1 http: // localhost: 8080 et . Toute autre URL demandée doit être transmise à EP2 http: // localhost: 8077

Ma configuration actuelle vers le premier service 

ProxyPass /webhook1  http://localhost:8080
ProxyPassReverse /webhook1 http://localhost:8080

Maintenant, je veux définir un autre laissez-passer de proxy pour être quelque chose comme

ProxyPass /  http://localhost:8077
ProxyPassReverse / http://localhost:8077

assembler les deux configurations ne fonctionne pas, appréciez votre aide pour configurer Apache afin qu'il réponde à mes besoins

Merci d'avance

4
Qais Ammari

Placez les règles ProxyPass dans le bon ordre, au besoin

si vous voulez évaluer/webhook1 et l'envoyer à 8080, sinon envoyer le trafic à 8077, les règles doivent être dans l'ordre suivant

ProxyPass /webhook1  http://localhost:8080
ProxyPassReverse /webhook1 http://localhost:8080
ProxyPass /  http://localhost:8077
ProxyPassReverse / http://localhost:8077
10
Qais Ammari

Vous pouvez écrire le fichier ssl.conf sous/etc/Apache2/sites-enabled/comme suit: -

RewriteEngine on
ProxyPass /webhook1 http://127.0.0.1:8080/
ProxyPassReverse /webhook1 http://127.0.0.1:8080/
RewriteRule ^/$ /webhook1/ [R,L]

RewriteEngine on
ProxyPass / http://127.0.0.1:8087/
ProxyPassReverse / http://127.0.0.1:8087/
RewriteRule ^/$ /EP2/ [R,L]

Il redirigera automatiquement vers HTTPS si un certificat SSL est configuré dans Apache2. 

0
Dibyendu Basu