
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_east
werde 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.conf
um auf https zu verweisen (wodurch die HTTP->HTTPS-Umleitung übersprungen wurde), funktioniert dies nun.