Apache ProxyPass scheint keine Inhalte vom Remote-Host zu proxyen

Apache ProxyPass scheint keine Inhalte vom Remote-Host zu proxyen

Ich versuche, unter einer URL auf meiner „Master“-Site einen Proxy zu einer Remote-Site „East“ zu erstellen, aber ich stecke in einer Umleitungsschleife fest. Das ist nicht das Verhalten, das ich erwartet hatte – ich habe verstanden, dass ProxyPass den Inhalt in die URL umschreiben würde, aber ich glaube, es verhält sich so, als würde es zum „Master“-Host umleiten.

Die angewendete Konfigurationsdatei ist ziemlich unkompliziert:

user@master:/etc/apache2/conf-enabled# cat multisite_proxy.conf
<Location /prod_east>
        ProxyPass http://east.domain.com/prod_east
        ProxyPassReverse http://east.domain.com/prod_east
</Location>

Bei Verwendung von cURL ist meine Ausgabe wie folgt:

user@master:~# curl -IL https://master.domain.com/prod_east/
HTTP/1.1 302 Found
Date: Thu, 17 Dec 2020 22:58:41 GMT
Server: Apache/2.4.38 (Debian)
Location: https://master.domain.com//prod_east/
Content-Type: text/html; charset=iso-8859-1

...

curl: (47) Maximum (50) redirects followed

Die Apache-Protokolle im Osten zeigen die Anfragen von cURL.

Wenn ich surfe, http://east.domain.com/prod_eastwerde ich auf die Anmeldeseite einer Anwendung umgeleitet (was ich erwarte). Wenn ich das mit cURL untersuche, sehe ich:

user@master:~# curl -IL http://east.domain.com/prod_east
HTTP/1.1 302 Found
Date: Thu, 17 Dec 2020 23:17:38 GMT
Server: Apache/2.4.38 (Debian)
Location: https://east.domain.com//prod_east
Content-Type: text/html; charset=iso-8859-1

HTTP/1.1 302 Found
Date: Thu, 17 Dec 2020 23:17:38 GMT
Server: Apache
Location: https://east.domain.com/prod_east/subpath/
Content-Type: text/html; charset=iso-8859-1

HTTP/1.1 302 FOUND
Date: Thu, 17 Dec 2020 23:17:38 GMT
Server: Apache
Vary: Cookie
Cache-Control: no-cache
**Location: /prod_east/subpath/login.py?_origtarget=index.py**
Content-Type: text/html; charset=UTF-8

Der letzte Eintrag „Location:“ gibt mir Anlass zum Grübeln: Er weist den Client an, zu umzuleiten , ich gehe jedoch davon aus, dass dies aufgrund der ProxyPass-Regeln /prod_east/von angefordert wird .east.domain.com

Das Proxy-Modul ist aktiviert, ebenso das Rewrite-Modul.

Irgendeine Hilfe? Ich verstehe hier offensichtlich etwas nicht ...

Dank im Voraus.

Antwort1

Das Problem hier war, dass die „East“-Site eine Umleitung zu HTTPS erzwang und Apache nicht für die Weiterleitung von TLS-Inhalten konfiguriert war. Nachdem SSLProxy auf „Master“ aktiviert und aktualisiert wurde, multisite_proxy.confum auf https zu verweisen (wodurch die HTTP->HTTPS-Umleitung übersprungen wurde), funktioniert dies nun.

verwandte Informationen