Ist es möglich, verwenden Sie "%{HTTP_HOST}" in ProxyPass?
Ich versuche, die Implementierung eines transparenten proxy mit apache2 und mod_proxy, dass für jetzt - nicht tun. nur leitet den Datenverkehr an den richtigen "host".
Ich nicht wollen, es zu sein, die host-abhängig - sondern dynamisch, es wird also Arbeit für alle hosts.
Ich habe versucht, dies zu tun:
RewriteEngine on
RewriteLogLevel 5
RewriteLog "/var/log/apache2/rewrite.log"
RewriteRule ^(.*)$ $1
ProxyPass /http://$1
Ich habe auch versucht, mehrere andere Ansätze (keine funktioniert).
Gibt es eine Möglichkeit, dass ich Zugriff auf die "host" aus dem header und verwenden Sie es in der ProxyPass-Anweisung?
In der nginx-würde ich verwenden, $host, $remote_addr, etc.. in irgendeiner Weise zu ersetzen, dass auf apache?
Was ich brauche, ist, um Zugriff auf %{HTTP_HOST}, %{REQUEST_URI} und %{SERVER_PORT} innerhalb der ProxyPass-Befehl.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwendung von Apache ProxyPass-Anweisungen mit dynamischen Hostnamen, müssen Sie auch verwenden, ModRewrite.
Ziel
Alle Anfragen an die virtualhost wird ProxyPass und ProxyPassReverse (auch bekannt als "Apache-Gateway") für den %{HTTP_HOST}
Der einzige Grund, warum dies sinnvoll wäre, zu tun ist, wenn Sie localhost-Einträge auf dem apache-server, die für spezifisch host-Namen
Beispiele
Localhost Datei
, Wie es funktioniert
Client-Anfragen foo.bar.com ---reverse-proxies zu----> foo.bar.com/path1 (auf einige ANDERE interne server)
Apache-Konfiguration
Lesen Sie diese Seite, wenn Sie dies nicht bereits getan haben :
https://httpd.apache.org/docs/2.2/mod/mod_proxy.html#forwardreverse
Ich denke, dass Sie die ProxyRequests-Anweisung ist das, was Sie suchen.
Nur die Antwort auf meine eigene Frage:
Ich vermisse 2 Dinge:
die Konfiguration sollte werden:
Nicht vergessen zu aktivieren Erben in das virtuelle Verzeichnis: