UPDATE: Ich habe eine überarbeitete Frage hinzugefügt, nachdem ich zwei Antworten unten damit herumgespielt habe.
Hallo,
Wenn Sie dies lesen, sind Sie wahrscheinlich mit Apaches mod_proxy und seiner ProxyPass-Funktion vertraut. Wie viele andere habe ich das Problem, eine Anwendung zu haben, auf die ich von außerhalb unseres internen Netzwerks zugreifen kann, aber diese Anwendung selbst greift auf andere interne Apps auf verschiedenen Computern zu, und wenn Sie mit diesem Setup in den Fernzugriff gelangen, wird es schwierig.
Also, mein Setup ist sehr einfach, ich habe:
Auf Computer Nr. 1 ist der Remotezugriff aktiviert. Ich greife über einen Hostnamen darauf zu und spucke die darauf ausgeführte PHP-Anwendung aus.
Maschine Nr. 2 ist eine neue Anwendung, auf der Django ausgeführt wird. Sie verwendet ein völlig anderes Backend (sogar Auth) und wird auf einer separaten Maschine gehostet. In unserem Intranet greifen wir über einen einfachen Hostnamen zu, der im Wesentlichen mit der internen IP 192.168.0.101 verknüpft ist.
Ich habe versucht, mit ProxyPass zu spielen, um es so einzurichten, dass beispielsweise ein Pass an / new es an die neue Anwendung sendet:
ProxyPass / new http://192.168.0.101/
Diese Art von funktioniert, es erhält die Anfrage an die andere App, aber es bricht ab, weil meine Django-App nach / auth / login / umleiten möchte, was sie sofort nicht erkennt. Wenn ich die URL selbst in foo.net/new/auth/login ändere, erhalte ich meine Anmeldeseite, aber wie Sie sich vorstellen können, ist es nicht bequem, dies während des Browsings zu tun.
Wie kann ich ProxyPass zum Laufen bringen, wie ich will? Muss ich etwas mit Apache tun, damit es immer vor der URL in der anderen App schreibt / neu ist, oder sollte ich dies in meiner Django-App ändern?
Alle Tipps und Hinweise wäre sehr dankbar. Vielen Dank für Ihre Zeit