[gelöst] HAProxy Reverse Proxy: Server IP verstecken

Started by sefl1234, May 12, 2021, 09:08:41 AM

Previous topic - Next topic
May 12, 2021, 09:08:41 AM Last Edit: May 16, 2021, 11:17:28 AM by sefl1234
Hallo,

ich versuche einen Reverse Proxy aufzubauen, die Verbindung zu den Websites wird auch hergestellt, allerdings wechselt die URL dabei immer zu der IP des Webservers. Einer der Zwecke sollte ja sein, dass die IPs nicht sichtbar sind, bei Tutorials scheint das auch standardmäßig so zu sein.
Gibt es dafür eine bestimmte Konfiguration?
Der Aufbau ist bisher nur zum Testen interner Verbindungen und besitzt nur eine LAN Schnittstelle, kein WAN. Könnte das sonst ein Problem sein?

Meine Versionen sind:
OPNsense 21.1.4-amd64, os-haproxy 3.1

Danke im Vorraus

Dann wird wohl er dein Webserver die URL Umschreiben. Diese muss natürlich so konfiguriert sein, dass in den Pfaden deine öffentliche IP steht und nicht die lokale.
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

Nein, das ist leider nicht das Problem.

Nur als genauere Beschreibung:

Ich habe im HAProxy Plugin Backends und Regeln konfiguriert, dass bei einem gewissen String am Pfadende das jeweilige Backend genutzt werden soll und Frontends, die auf HTTP/HTTPS lauschen.
Wenn ich dann "OPNSenseIP-Adresse/string" aufrufe, wird auf die Website weitergeleitet, jedoch auch die URL im Browser geändert (Input: https://10.0.1.2/webserver -> Anzeige: 10.0.1.3).

Ich hatte gehofft, dass die Server IP hier versteckt bleiben könnte.

Quote from: sefl1234 on May 12, 2021, 12:15:50 PM
Nein, das ist leider nicht das Problem.

Nur als genauere Beschreibung:

Ich habe im HAProxy Plugin Backends und Regeln konfiguriert, dass bei einem gewissen String am Pfadende das jeweilige Backend genutzt werden soll und Frontends, die auf HTTP/HTTPS lauschen.
Wenn ich dann "OPNSenseIP-Adresse/string" aufrufe, wird auf die Website weitergeleitet, jedoch auch die URL im Browser geändert (Input: https://10.0.1.2/webserver -> Anzeige: 10.0.1.3).

Ich hatte gehofft, dass die Server IP hier versteckt bleiben könnte.
Ja eben
Der Webserver ist so konfiguriert, dass diese auf 10.0.1.3 läuft. Somit sind ja alle Links auf der Webpage mit 10.0.1.3 was nicht passt.
Daher muss der Webserver angepasst werden
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

Die Erklärung ist vielleicht ein wenig irreführend. Ich denke auch dass der Webserver das Problem ist, aber der Grund ist dann eher die Anwendung, die anscheinend nachschaut, auf welcher IP/Domain der Webserver läuft und dementsprechend die Domain/IP in der Links etc. ausgeliefert werden umschreibt. Wenn das eine Domain ist und die Domain auf die HAproxy IP zeigt ist das kein Problem, die Requests kommen trotzdem für die korrekte Domain an und der Webserver erkennt "dass alles gut ist". Geht man jetzt aber via IP ran, dann passt entweder der konfigurierte VHost nicht mehr oder (wenn es keine gibt) werden die URLs automatisch auf die "eigene" Webserver IP umgeschrieben. Normalerweise haben Anwendungen dafür eine eigene Einstellung wie Site-URL oder -Domain oder irgendwas derartiges, damit genau dieser Fall nicht eintritt. Am Einfachsten ist es dann eine (interne) Domain zu nutzen und diese auch für die Ausgabe des Webservers/Webservices zu konfigurieren, dann wird auch nichts mehr umgeschrieben.

Ein hartes IP-X zu IP-Y umschreiben gibt es zwar auch, das ist aber komplexer, da im Normalfall dann HAproxy den Kram, den der Webserver zurückliefert parsen und quasi on the fly ein "suchen und ersetzen" bei den URLs durchführen muss. Einfacher daher den Webservice korrekt (um-) zu konfigurieren und dann kann man auch später (wenn man nicht gerade interne Domains à la ".intra, .lan, .home o.ä." genutzt hat) problemlos ein TLS Zertifikat draufknallen und hat das ganze gleich noch via HTTPS im Sack :)

Cheers
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

Okay dann muss ich mir da die Konfigurationen anschauen, danke.