HaProxy als HTTPS-Gateway für mehre HTTPS-Webserver?
-
Wenn es eine Testumgebung gibt, warum können wir nicht einfach mal da drauf zugreifen und uns das Zeugs anschauen? Auch wenn's was kostet, warum nicht? Es spart uns ja eine Menge Zeit!
Weil das ein Setup eines Kunden ist und wir das firmenintern betreiben? Ich bin kein Mitarbeiter von Netgate, pfSense oder sonstwas und mich kosten Testsetups oder Teststellungen aus eigener Tasche genauso viel wie jeden anderen auch. Wenn ich für jedes Problem das ich hier lese einfach kostenlos eine Testbench bauen könnte, würde ich das gerne tun, ich habe aber noch niemanden gefunden, der mir das notwendige Equipment einfach so zur Verfügung stellt :)
Ich habe zudem nichts von Testumgebung gesprochen, sondern von Tests (Funktionstests) auf spezifischen Setups. Und dort war das Einrichten von HaProxy mit mehreren Domains und Zertifikaten, welcher dann auf mehrere Backends weiterreicht kein unüberwindbares Hindernis. Dort wird eingehend durch HTTP Header von HaProxy selektiert und das entsprechende Backend ausgewählt. Auch HTTPS via SNI war kein Hindernis sowie TLS Offloading. Dann spart sich die Kiste gleich noch das re-encrypt und spricht mit dem Backend einfach HTTP.
Gruß
-
Danke für die Hinweise. Ich hätte eine minimale Testumgebung. Wenn jemand Interesse hat und uns das zeigen könnte, wäre ich gerne bereit, den Zugang explizit dieser/n Person/en zu gewähren. Die Testumgebung besteht aus:
-
Asus Eee 1000H
–- 2 GB RAM, 2 CPU, 1.6 GHz, 50 GB HDD
--- pfSense 2.3.1 p5
--- HAproxy 1.6.4
--- public IP via DHCP 77.58.x.y
--- 2 Mbps Leitung -
Raspberry Pi 2
--- LAN IP 192.168.x.102
--- Raspbian 4.4 auf 64 GB SD
--- Apache 2.4 (SSL enabled, Let's Encrypt Zertifikat)
--- https://www.domain1.com (HTTPS only, ist inaktiv, weil HAProxy nicht läuft) -
Raspberry Pi 3
--- LAN IP 192.168.x.105
--- Raspbian 4.4 auf 64 GB SD
--- Apache 2.4 (SSL enabled, Let's Encrypt Zertifikat)
--- PHP5, MySQL, WordPress
--- https://www.domain2.com (HTTPS only, Blog ist aktiv, weil NAT Rules greifen) -
Optional weitere RasPis und/oder Synology DS mit ähnlichen Eckdaten (HTTPS only)
Für alle Testgeräte existieren die zugehörigen Installationprotokolle (Word 2007 und/oder PDF)
Dies könnte ich zur Verfügung stellen (ausgenommen bei Hackerangriffen), wenn jemand mir/uns das zeigen könnte, wie das geht. Das Know-how könnte im Forum zur Verfügung gestellt werden. Interesse?
Änderungen vorbehalten. Das Angebort ist zeitlich beschränkt und ist von der Absicht der Problemlösung abhängig.
Gruss
-
-
Wenn das zeitlich problemlos auch nächste Woche abends machbar ist, könnte ich da auf Wunsch einen Blick drauf werfen, zumindest bei der HaProxy Geschichte. Vorher sollte nur klar sein, was genau gewünscht ist. Allerdings: wie schon angeführt ist das importieren der LetsEncrypt Zertifikate m.E. nicht sinnvoll machbar wegen der kurzen Laufzeit. Da müsste man daher alle 1-2 Monate das Zertifikat tauschen, da das im Cert Management von pfSense noch unpraktisch ist, würde ich das eher nicht empfehlen. Wenn es denn unbedingt ein kostenloses Zert sein soll/muss, kann man notfalls ja durchaus noch auf StartSSL ausweichen und hat dann eines mit 1-2 Jahren (je nach Zertifizierungsgrad).
-
Danke für das Interesse. Nächste Woche kann ich diese Testumgebung nicht mehr garantieren. Unter Umständen geht das gar nicht mehr. Muss ich abklären.
Das mit den Let's Encrypt-Zertifikaten ist nur für die Testumgebung gedacht. Und es geht ums Prinzip. Ich habe auch noch andere Webserver, die nach bisherigen Zertifizierungsmethoden abgesichert sind (auch StartSSL). Es geht hier nur um den HAProxy bzw. dessen Konfiguration für die beiden Webserver. Die Testumgebung wäre parat, ich müsste nur eine Rule aktivieren und schon wäre alles übers WebGUI und / oder SSH (RasPis) erreichbar.
Gruss
-
Würde ich mir wie gesagt durchaus mit etwas Doku/Wunsch was wie funktionieren soll anschauen, allerdings habe ich bis einschl. Sonntag keine Möglichkeit dazu. Frühestens Sonntag abend wäre kurz denkbar, ansonsten Montag/Dienstag.
-
Danke, aber ich melde mich wie gesagt dann nächste Woche wieder.
Schones Wochenende! -
LetsEncrypt haben hier welche schon zumindest für den halbautomatischen Lauf in pfSense integriert:
https://forum.pfsense.org/index.php?topic=109877.msg640668#msg640668Ich selbst habe es nicht getestet und will es auch gar nicht. Mir kam nur beim Lesen hier der Thread in Erinnerung. ;)
-
@Ace of Space:
Nachdem ich mir das aktuelle Setup mit HaProxy und pfSense 2.3.x angeschaut habe, ziehe ich die Einwände bei SSL zurück :D ;)
Ich hatte schlicht übersehen und verdrängt, dass HAProxy nicht zwingend SSL terminieren muss, sondern lediglich auch nach Blick in den SNI Header einfach weiterreichen kann. Dein geschildertes Problem mit SSL Webseiten ist also keines :)Du kannst also:
a) alle Webserver im Backend mit HTTP betreiben und HAProxy auf der pfSense vorschalten und SSL sprechen lassen. Das wird mit LetsEncrypt dann etwas ungeschickt, da der Cert Manager von pfSense da unkomfortabel ist wenn ständig Zertifikate importiert werden müssen. Alternative: Statt dessen ggf. StartSSL Zertifikate für 1-2 Jahre nutzen - genauso gut (je nachdem wie man gegenüber der LE Philosophie eingestellt ist auch besser oder nicht). Die können dann im Manager importiert und von HAProxy ausgeliefert werden. Dadurch weniger Overhead auf den Maschinen dahinter (gerade wenn die recht schwachbrüstig sind wie bspw. RasPis).
b) Webserver so betreiben wie gewünscht, mal HTTP mal HTTPS und HAProxy entsprechend mit 2 Frontends konfigurieren (eines für Port 80, eines für Port 443). HTTPS nicht offloaden, sondern durchreichen. Dann kein Zertifikat auf der pfSense notwendig, Dienste werden einfach nur an Hand des HTTP Headers (HTTP) oder SNI Extension (HTTPS) ans entsprechend konfigurierte Backend durchgereicht.Sprich: Sollte wie gewünscht laufen.
Grüße
-
(Dumme) Frage: Muss jeder Backend eine eigene ACL haben oder können mehrere Backends eine gemeinsame ACL haben?
-
Das hängt von der gewünschten Konfiguration ab. Was willst du denn erreichen?