Reverse Proxy HAProxy - Hilfestellung

Started by DerNorden, June 24, 2020, 02:06:50 PM

Previous topic - Next topic
Hi,

ich betreibe Proxmox VE für meine VMs. Auf diesem ist auch OPNsense installiert. Meinen IPv6 Block habe ich an die OPNsense übergeben womit ich meine VMs mit IPv6 versorgen kann und eine Erreichbarkeit gegeben ist.

Leider musste ich feststellen, dass es noch Situationen gibt wo allein IPv6 nicht reicht. Also dachte ich mir mangels IPv4 den HAProxy als Reverse Proxy zu nutzen.

Die vielen Einstellungen und Optionen sind für mich als unerfahrener User verwirrend.

Kann mir jemand entweder eine gute Anleitung empfehlen oder Schritt für Schritt die richtige Vorgehensweise nennen? Irgendwie brauche ich da ein richtigen Schubs ;-).

Beginne ich direkt mit der Konfiguration von HAProxy oder mit der FW?

Die VMs nutzen Let's Encrypt. Dies würde ich auch vorerst bei den VMs belassen. In erster Linie geht es mir darum die VMs anhand von Domains zu erreichen.

Hier, probiere es damit:

https://blog.we-cme.de/haproxy-auf-opnsense-als-https-frontend-mit-lets-encrypt/

Der link ist der 2. oder 3. Treffer bei google.

Gesendet von iPad mit Tapatalk Pro
Internet: Willy.tel Down: 1Gbit/s, UP: 250Mbit/s Glasfaser  |
Router/Firewall: pfSense+ 23.09  |
Hardware: Netgate 6100

Hallo,

dieses Tutorial hat mir weitergeholfen:

https://schulnetzkonzept.de/opnsense

Dabei ist zu beachten:
Wenn du von innen als auch von außen deinen Server erreichen willst, dann benötigst du alles was mit ha_proxy_lan zu tun hat nicht! (Dazu gehört auch der Override Eintrag im Unbound DNS)

September 07, 2020, 11:21:29 PM #3 Last Edit: September 07, 2020, 11:26:27 PM by DerNorden
Quote from: micneu on June 24, 2020, 02:09:52 PM
Hier, probiere es damit:

https://blog.we-cme.de/haproxy-auf-opnsense-als-https-frontend-mit-lets-encrypt/

Der link ist der 2. oder 3. Treffer bei google.

Gesendet von iPad mit Tapatalk Pro

Ich bin nach der oben genannten Anleitung vorgegangen. Leider funktioniert nur eine Domain/Eintrag. Bei allen anderen bekomme ich die Fehlermeldung:

503 Service Unavailable
No server is available to handle this request.

Ne Idee woran es liegen kann?

503 kommt in der Regel wenn der Proxy den Server auf den er weiterleitet nicht erreichen kann oder dort nichts antwortet.
Twitter: banym
Mastodon: banym@bsd.network
Blog: https://www.banym.de

Poste doch mal Bilder deiner Konfiguration bitte, so können wir nur raten


Gesendet von iPad mit Tapatalk Pro
Internet: Willy.tel Down: 1Gbit/s, UP: 250Mbit/s Glasfaser  |
Router/Firewall: pfSense+ 23.09  |
Hardware: Netgate 6100

> 503 kommt in der Regel wenn der Proxy den Server auf den er weiterleitet nicht erreichen kann oder dort nichts antwortet.

Was @banym schreibt. Das heißt kein Backend. Also ist entweder im Backend was falsch konfiguriert oder dein Frontend verkehrt, aber ohne mehr Details keine Möglichkeit zu helfen. Man sieht es aber selbst schnell, wenn man HAProxy Statusseite konfiguriert, ob die Backends alle funktionieren oder nicht (Fehlercode etc.). Eventuell kommt ein Backend nicht mit Zugriff via IP klar und man muss mehr Infos beim Connect pushen (http1.1/Host: xy.domain.tld bspw.) für den Check ob der Backend Host da ist. Oder man stellt die Überwachung mal auf "ping" und nicht auf Protokoll und testet dann, bekommt dann aber auch nicht mit, wenn das Ding mal nicht wirklich tut.
"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.

So, inzwischen laufen alle Domains  :D. Ich hatte bei den öffentlichen Diensten die Zertifikate nicht zugeordnet. Hatte da so viel hin und her geklickt, dass ich nicht mehr wusste was gerade passiert. Inzwischen denke ich ein etwas besseres Gefühl darüber zu haben.

Die Möglichkeiten um Fehler schneller zu erkennen finde ich gut. Damit werde ich mich zu einem späteren Zeitpunkt beschäftigen. Evtl. kommen dann neue Fragen.

Anfänglich haben mich die vielen Einstellungsmöglichkeiten erschlagen. Langsam bekomme ich immer ein besseres Gefühl, was dann auch mehr Spass macht. Also vielen Dank für eure Mühe und eurer Geduld. Oft wird so etwas in einem Forum nicht genügend unterstrichen.

Was müsste ich tun wenn ich beispielsweise SSH durchreichen möchte?

> Was müsste ich tun wenn ich beispielsweise SSH durchreichen möchte?

Inwiefern durchreichen? SSH auf <x.domain> oder <y.domain> auf andere Endgeräte? Das ist m.W. nicht möglich. HTTP/HTTPS hat dafür - und für SNI - das Host Header Feld, in dem mitgereicht wird, welche Domain eigentlich versucht wird zu erreichen. SSH funktioniert anders und hat solch ein Feld IMHO nicht.

SSH durch SSL/HTTPS durchzutunneln ist wenn ich recht weiß möglich, aber die Frage ist, ob man sich das an der Stelle wirklich so verkomplizieren möchte und was der Vorteil ist. Aber auch da sind m.W. keine multiplen Backends drin, sondern da gehts eher darum SSH zu verstecken wegen bösen Policies vor Ort. Oder bspw. Client Cert Auth von SSL zu nutzen für die Verbindung.
"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.

Ah ok, nein verkomplizieren möchte ich es definitiv nicht ;-). Dann ist es wohl einfacher in der Firewall eine Portweiterleitung einzurichten, oder?


An welcher Stelle muss ich was ändern damit das SSL Zertifikat direkt von der VM bezogen wird und nicht von der OPNsense? Also würde ich es direkt durchreichen wollen.

Dann müsstest du dein Frontend anders konfigurieren. Also nicht mit SSL Interception sondern mit durchreichen. Das betrifft dann aber alle Sachen die auf dem Frontend aufschlagen. Ist die Frage ob man das wirklich will? Normalerweise macht mans genau umgekehrt und will alles dort zentralisieren ;)
"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.

Ah ok, dachte man könne zweigleisig fahren. Und wenn es so eher der "richtige" Weg ist dann nehme ich es gerne so an bevor ich da beginne unnötiges Zeug zu machen  ;).

In meinem Setup werden http Verbindungen als http weitergereicht. Ich würde gerne, dass automatisch auf https umgeschrieben wird. Geht das und wenn ja wie?