HAProxy: 2 Domänen über Port 443 auf 2 Server verweisen
-
Ok, super. Also ist mein Vorhaben doch so machbar!
Ich danke Dir auf jeden Fall.
Als Linux Newbie ist die Installation eine NC in so einer Umgebung schon harter Tobak ;-)..
Dann sammel ich mal meine Zertifikate ein...Danke noch mal!
LG, Klaus
-
@klauskbo
"Linux" als Assoziation mit pfSense ist hier gar nicht gern gesehen. Das ist es nämlich nicht.
Einem Newbie kann man aber noch verzeihen. Also beim nächsten mal: FreeBSD.Ich gehe davon aus, dass aktuell ja schon zumindest ein Webserver von außen erreichbar ist.
Also ISP > FB > pfSense > Webserver auf Proxmox
Wenn, dann sollte das auch mit HAproxy und mehreren Backend möglich sein.Zertifikate importieren in System > Certificate Manager > Certificates
Intermediate nicht vergessen. -
Sorry, die pfsense meinte ich gar nicht, sondern mein aktuelles Projekt der Nextcloud Implementierung (Ubuntu).
Alles andere läuft schon seit knapp 2 1/2 Jahren komplett problemfrei.Also nach "außen" geht bislang nur der Exchange Server nebst owa und einige spezifische Ports für andere externe Anwendungen. Und natürlich der VPN Port.
Danke für den Hinweis und Sorry für die versehentliche Diskreditierung.
-
@klauskbo
Ah ja, da hab ich zu schnell drüber gelesen und Dinge in Zusammenhang gebracht, die gar nicht so dargestellt sind. -
@viragomann
So, ich noch mal.
Ich hatte es befürchtet, ich komme nicht zu recht. Ich bekomme den Zertifikatsimport nicht hin.
Bei den letsencrypt Zertifikaten klappt es scheinbar.
Aber mit der Kombo für den Exchange (certificate, intermediate und root) komme ich nicht klar.
Ich habe die sowohl als cer wie auch als crt. Welche muss man benutzen und wohin kommen die Einträge? -
@klauskbo said in HAProxy: 2 Domänen über Port 443 auf 2 Server verweisen:
Aber mit der Kombo für den Exchange (certificate, intermediate und root) komme ich nicht klar.
Ich habe die sowohl als cer wie auch als crt. Welche muss man benutzen und wohin kommen die Einträge?Am besten hast du das Paket als PKCS #12 vorliegen, ggf. mit Passwort.
Dann einen Haken bei Intermediates setzen, um alles zu importieren. -
@viragomann
So, Zertifikate sind jetzt importiert.
Der HAProxy wirft nun auch einen Statistics Report aus.
In dem ist meine NC Route nicht sauber. Im Check sagt er:Layer6 invalid response: SSL handshake failure
Ist das ein konfig Problem?
-
@klauskbo
Ich hatte diesen Fehler noch nicht. Ich nehme an, es geht um die Verbindung zum Backend. D.h., die läuft ebenfalls via TLS?
Dafür sind Zertifikate auf der pfSense gar nicht nötig, wenn das am Backend ein öffentliches ist.Wenn es das ist, ist am Webserver was zu sehen.
Sind in NC die Zugriffe erlaubt? -
@viragomann
Ja, die Verbindung zum Backend.Mein Backend zum Exchangeserver läuft einwandfrei, das zur Nextcloud nicht. Rules, Portforwardings sind angelegt. Auf dem NC läuft ein Letsencrypt Zertifikat, welches auch in der pfsense liegt. Gleiches Spiel auch beim Exchange. Allerdings hatte dieses Zertifikat ein intermediate.
-
@klauskbo
Wenn ich meine nicht funktionierende Domäne aufrufe gibt er den Fehler eines falschen Zertifikates aus. Er bekommt dann das des Exchange Servers... -
@klauskbo
Da ist das Backend Down. Wird also so erkannt.
Versuche es mal mit dem Basic Health Check.Das mit dem Zertifikat könnte ein zusätzlicher Fehler sein. Das macht nämlich das Frontend.
-
@viragomann
Ok. Das sieht schon ganz anders aus.Trotzdem schickt er mir auf die Domäne der NC noch das Zertifikat des Exchange Servers.
Gibt es noch weitere Einstellungen welche ich beachten muss?
Portforwarding:
Regeln:Und der Port Alias:
Ich glaube mir fehlt noch eine Regel, oder?`
-
@klauskbo
Ich habe ja geschrieben, das macht das Frontend. Ohne dessen / deren Einstellungen zu kennen, kann ich nichts dazu sagen.
Ich weiß nicht mal, ob du das mit einem oder mit Shared gelöst hast.
Du musst einfach im Frontend das Zertifikat angeben. Wenn du beide Hosts in einem Frontend hast, müssen beide Zertifikate in diesem angegeben werden. -
@klauskbo said in HAProxy: 2 Domänen über Port 443 auf 2 Server verweisen:
Portforwarding:
Okay, Portforwarding ist generell fehl am Platz.
Du willst ja nichts forwarden, du möchtest die Pakete ja am HAproxy haben, und ich nehme an, der lauscht auf keiner dieser beiden IPs.Also Portforwarding deaktivieren. Beide natürlich.
Das hätte ohnehin nie funktionieren können. Du kannst nicht WAN IP Port 443 and 2 unterschiedliche Hosts weiterlieten. Da greift nur die erste Regel. -
@klauskbo said in HAProxy: 2 Domänen über Port 443 auf 2 Server verweisen:
Der HAProxy soll ja eigentlich nur weiterleiten. Die Server haben gültige Zertifikate.
Ich glaube die Zeile wurde komplett ignoriert, oder?
Verstehe ich da richtig, dass die Backend Server wie Nextcloud und Exchange selbst mit gültigem Zert erreichbar sind?
Also möchtest du nur "weiterleiten"?Das wäre Layer 4 Forwarding. Dazu braucht es nur minimale Konfiguration und gar keine Zertifikate auf der Sense, da der HAproxy NICHT terminiert und daher keine Zerts ausliefert, sondern einfach nur die Verbindung weiterreicht ans Backend.
Da muss also außer eingehend 80/443 auf die IP der Sense damit der HAproxy Traffic bekommt kein Forwarding o.ä. konfiguriert sein. HAproxy muss auf Modus HTTPS laufen (nicht HTTP/SSL Termination) und die ACL Checks müssen auf den SNI Namen gehen und dann aufs entsprechende Backend abgeworfen werden.
Die Backends dürfen dann bei TCP mode / HTTPS mode nicht verschlüsselt werden, weil der Traffic ja schon verschlüsselt ist. Das sind die typischen Probleme in der Konstellation :)Cheers
-
@jegr
Hallo Zusammen und besten Dank für eure Hilfe!!!Ich habe alles soweit hinbekommen. Allerdings habe ich die Zertifikate im Backend eingebunden. Ich habe noch gar nicht getestet ob es auch ohne gehen würde... bin soweit erstmal froh dass es läuft!
Danke euch allen!!!