florianhe
Goto Top

Probleme mit reverse-Proxy. -überhaupt die richtige Anwendung für mich?

Hallo. Ich habe auf meinem Ubuntu server verschiedene dienste/server laufen. jeder Dienst hat eine Weboberfläche die über unterschiedliche Ports erreichbar sind. Und dann habe ich noch eine Steuerung die im Netzwerk hängt und ebenfalls eine Weboberfläche besitzt. Und noch anderen kram mit weboberfläsche


ich hatte das eigentlich so vor das alle Weboberflächen über den lokalen rechnernahmen (den vom ubuntu-server) erreichbar sind. es soll sozusagen alles über den webserver mit port 80 laufen.

BSP:

127.0.0.1:88 -> rechnername/service1
127.0.0.1:99 -> rechnername/service2
192.168.x.x -> rechnername/service3

um das umzusetzen habe ich den Apache webserver installiert, einen virtuellen host angelegt und mit proxypass die Adresse des servers auf das verzichnis gelegt

ProxyPass /service1 http://192.168.x.x/

Jetzt habe ich gefühlt ewig rumexperimentiert um festzustellen das ich wahrscheinlih auf dem Falschen weg bin.

nehmen wir mal das codebeispiel was ich gepostet habe:

wenn ich jetzt im Browser Rechnername/service1 eingebe öffnet sich die eigentlich die Startseite der Steuerung. aber jetzt kommt mein Problem es öffnet sich z.b. nur die Start.html aber nicht die restlichen Datein weil ja der Pfad nicht stimmt. der Browser will z.b. auf /CSS/framework.css zugreifen aber das jeht ja nicht weil der Pfad eigentlich /service1/CSS/... heißen müsste.

lege ich den "ProxPass" auf "/" stimmt der Pfad und die Seite wird korrekt aufgebaut.

Leider bringt mir das ja nichts weil ich ja mehrere Seiten über den proxy laufen lassen möchte.
Ich hätte jetzt noch die Möglichkeit das über eine URL Umleitung zu machen. aber ich würde das gerne so lösen das sich die URL nicht ändert.

gibt es irgendeinen anderen weg wie ich das sonst lösen könnte?

Content-ID: 1552516061

Url: https://administrator.de/contentid/1552516061

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

GNULinux
GNULinux 25.11.2021 aktualisiert um 19:34:52 Uhr
Goto Top
Hi,
du kannst das mit einem Mix aus ProxyPassReverse und für deine kaputten Links mod_substitute versuchen in den Griff zu bekommen. Das kann aber einiges an Bastellei werden, mit manchen (unsauber entwickelten) Anwendungen wird es schwer bis unmöglich. Am besten funktioniert es, wenn du der Anwendung eine Basis-URL mitgeben kannst, die konsequent überall verwendet wird. Für die ProxyPass Direktive dann den Pfad ggf. mit anhängen:

ProxyPass /service1 http://192.168.x.x/service1

Am einfachsten und saubersten lässt sich das mit (Sub-)Domains lösen, jeweils eine pro Anwendung:

service1.server.de
service2.server.de
service3.server.de

Diese Variante würde ich empfehlen. Da läuft die Anwendung immer im Kontext-Root. Mit LetsEncrypt lassen sich die TLS-Zertifikate wunderbar automatisieren, HTTP statt HTTPS ist ja seit längerem nicht mehr Zeitgemäß und sollte möglichst vermieden werden.
FlorianHe
Lösung FlorianHe 26.11.2021 um 12:31:23 Uhr
Goto Top
Habe jetzt einen lösungsweg geunden die bei allen lokalen server bisauf einem zufriedenstellend funktioniert.

habe es so gelöst:
-DNS Server installiert
-in der zonendatei 12 adressen angelegt
-in apache 12 virtuelle hosts angelegt und per proxypass die serveradresse auf "/" gelegt

wenn ich jetzt z.b. xxx.server/ im browser eingebe öfnett sich webinterface 1
wenn ich xxy.server/ eingebe öffnet sich webinterface 2 usw.


jetzt habe ich aber ein interface was über https:// erreicht wird. Und da komme ich nicht weiter.
wenn ich die vergebene DNS der https seite in den browser eingebe wird nur die apache standartseite geöffnet.

was muss ich machen das solche seiten umgeleitet werden können?


in das mit dem letsencrypt und den tls zertifikaten muss ich mich leider erstmal reinlesen. verstehe was das angeht leider nur bahnhof.