Apache-Reverse-Proxy-Logik basierend auf beliebigem Header

Apache-Reverse-Proxy-Logik basierend auf beliebigem Header

Ich habe Apache auf einer Natting-Firmware laufen, die Authentifizierung, Reverse-Proxys und einen SSL-Wrapper für 2 Webanwendungen auf der Backend-Seite bereitstellt. Dies funktioniert mit virtuellem Hosting und Proxys zurück basierend auf dem obersten Verzeichnis der Anfrage, z https://example.com/app1/ <-> http://app1/app1/. B. (siehe Abb. 1)

Ich würde gerne eine Möglichkeit finden, eine Anfrage an einen Webservice zurückzusenden, basierend auf einem beliebigen Header, der in der Anfrage gesetzt ist. Wenn beispielsweise der Header web_service:coolwebservice gesetzt ist, wird er an webservice:8000 zurückgesendet. Ist das überhaupt möglich?

Abb. 1 [Apache:example.com:443 / FW / NAT]
                          |
       ┌------------------┬------------------┐
       | | |
       VVV
[App1:80 /App1/] [App2:8080 /App2/] [Webdienst:8000]     

Antwort1

Ja, das ist mit mod_rewrite absolut möglich, so etwas wie das hier sollte funktionieren:

RewriteCond %{HTTP:web-service} coolwebservice
RewriteRule ^/(.*) http://web_service:8000/$1 [P,L]

Mit %{HTTP:...}können Sie beliebige Header prüfen und Ihre Entscheidungen darauf basierend treffen.

verwandte Informationen