hoffentlich könnt ihr mir bei einem Proxy-Problem helfen, das ich habe.
Was ich schon habe
Ich habe einen Apache-HTTP-Reverse-Proxy für Proxy-Anfragen von * .proxy.domain nach * .intern.domain eingerichtet. Der Apache ist die einzige Möglichkeit, meine internen Webanwendungen von einem externen Netzwerk aus zu erreichen.
Beispiel:
app.proxy.domain -> app.intern.domain
mail.proxy.domain -> mail.intern.domain
Das funktioniert alles prima, aber ich habe folgendes Problem.
Problem
Ich möchte die folgenden Anfragen vertreten:
app.proxy.domain -> app.internal.domain
app-dev.proxy.domain -> app-dev.internal.domain
Dies ist kein Problem, aber leider führt der App-Dev-Server eine exakte Kopie der App-Server-Webanwendung aus. Diese Webanwendung antwortet nur auf den Hostnamen (app.intern.domain).
Also, was ich tun muss, ist Proxy die folgenden
app.proxy.domain -> app.internal.domain (10.0.1.1)
app-dev.proxy.domain -> app.internal.domain (10.0.1.2)
Ich kann das Zweite tun, indem ich "10.0.1.2 app.internal.domain" in / etc / hosts hinzufüge, aber das bedeutet auch, dass app.proxy.domain auf dem Dev-Server landet.
Ich suche nach einer Option, um den Eintrag / etc / hosts nur in der vhost-Konfigurationsdatei für app-dev.proxy.domain festzulegen, sodass jede andere vhost-Konfiguration nur DNS für app.intern.domain verwendet.
Gedanken...
Gibt es eine Möglichkeit, apache config mitzuteilen, zu
ProxyPass / http://10.0.1.2/
aber sende app.intern.domain als hostname?
Das Bearbeiten der Dev-Server-Webanwendung zum Anhören von App-Dev ist keine Option, da es sich um eine exakte Kopie handeln soll (nicht meine Entscheidung ...).
Vielen Dank!
quelle
Eine hässliche Abhilfe besteht darin, die Datei / etc / hosts zu verwenden (statt sie zu missbrauchen), um app.internal.domain auf localhost zu verweisen, und Apache dann so zu konfigurieren, dass zwei zusätzliche Ports abgehört werden, einer für jede App und jeden App-Entwickler. Also Proxy zweimal umkehren:
quelle
Hinzufügen, um die Konfiguration des Proxys umzukehren (foe app-dev.proxy ..):
Sie müssen vorher mod_headers aktivieren:
Interner Server 10.0.1.2 sollte haben
quelle