• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

Mit HA-Proxy die Zertifikate der Server benutzen

Scheduled Pinned Locked Moved Deutsch
22 Posts 3 Posters 3.7k Views 4 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • W Offline
    Wireguard
    last edited by Sep 20, 2020, 6:56 PM

    Vielen Dank, Ich werde es mir anschauen.

    1 Reply Last reply Reply Quote 0
    • S Offline
      slu @JeGr
      last edited by Oct 9, 2020, 8:20 AM

      @JeGr said in Mit HA-Proxy die Zertifikate der Server benutzen:

      Ja über ein HTTPS Frontend, statt einem HTTP+Termination Frontend. Daran erkennbar, dass dann weiter unten im Frontend KEINE Sektion mit SSL Auswahl mehr ist, wo du das Zertifikat auswählst das ausgeliefert wird. Mach ich zwar nicht/ungern, weil das dann heißt dass jede Domain das selbst machen muss (Mixbetrieb geht nicht), aber klar, kann man einstellen.

      Was genau meinst Du mit Mixbetrieb?
      Ungern weil ein Sicherheitsproblem?

      Ich stehe genau vor dem gleichen Problem:
      1x IPv4 und dahinter zwei Server welche beide auf 443 lauschen.

      Je nach Domain sub1.example.com bzw. sub2.example.com soll es dann auf Server1 oder Server2 gehen.

      pfSense Gold subscription

      J 1 Reply Last reply Oct 19, 2020, 9:23 AM Reply Quote 0
      • W Offline
        Wireguard
        last edited by Wireguard Oct 9, 2020, 8:32 AM Oct 9, 2020, 8:28 AM

        Hallo,

        ich habe es nun so konfiguriert

        Backend

        2020-10-09 10_24_10-Window.png

        Frontend

        2020-10-09 10_25_59-Window.png

        Geholfen hat mir unter anderem das

        https://blog.briantruscott.ca/how-to-serve-multiple-domains-from-a-single-public-ip-using-haproxy-on-pfsense/

        Jeder meiner Server holt sich seine eigenen Zertifikate per Certbot. Die PFsense wiederum holt sich ihre Zertifikate selbst per Acme. Ist alle 3 Monate 10 Minuten Aufwand. Für mich passt die Lösung so bis ich Zeit finde mich tiefergehend damit zu beschäftigen.

        Falls du noch Hilfe brauchst, sag Bescheid.

        Grüße

        1 Reply Last reply Reply Quote 1
        • S Offline
          slu
          last edited by Oct 9, 2020, 8:33 AM

          Danke für die Screenshots, ich sehe schon irgednwann muss man anfangen sonst komme ich da nicht weiter :)

          pfSense Gold subscription

          1 Reply Last reply Reply Quote 0
          • W Offline
            Wireguard
            last edited by Oct 9, 2020, 8:34 AM

            Sieht schwerer aus als es ist ;)

            Wie gesagt wenn ich helfen kann lass es mich wissen.

            Viel Glück.

            S 1 Reply Last reply Oct 9, 2020, 8:37 AM Reply Quote 1
            • S Offline
              slu @Wireguard
              last edited by Oct 9, 2020, 8:37 AM

              @Wireguard
              vielen Dank für die Hilfe.

              Ich werde das Abends/Nachts mal mit einem Server probieren.
              Im Moment ist eine NAT Regel vorhanden weil derzeit noch 1 IPv4 IP auf ein Server zeigt, die muss dafür auch weg.

              Vor allem geht es mir in erster Linie darum kein Mist in Form von einem Sicherheitsproblem zu bauen, für alles andere habe ich Gedult ;)

              pfSense Gold subscription

              1 Reply Last reply Reply Quote 0
              • J Offline
                JeGr LAYER 8 Moderator @slu
                last edited by Oct 19, 2020, 9:23 AM

                @slu said in Mit HA-Proxy die Zertifikate der Server benutzen:

                Was genau meinst Du mit Mixbetrieb?
                Ungern weil ein Sicherheitsproblem?
                Ich stehe genau vor dem gleichen Problem:
                1x IPv4 und dahinter zwei Server welche beide auf 443 lauschen.
                Je nach Domain sub1.example.com bzw. sub2.example.com soll es dann auf Server1 oder Server2 gehen.

                Mixbetrieb: Man kann nicht mit dem gleichen Frontend einmal TLS annehmen und terminieren und einmal Layer4 annehmen und weiterreichen (ohne die TLS Verbindung zu terminieren). Gemischt geht nicht. Man kann nur eins von beidem. Eigentlich will man meistens eh terminieren, dann kann man die Zertifikate auch auf der Sense handlen und muss nicht auf jedem Client damit rumkaspern.

                Und dein Problem ist das einfachste und schnellste was man anlegen kann :) Sei froh ;)

                Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                S 1 Reply Last reply Oct 28, 2020, 2:06 PM Reply Quote 1
                • S Offline
                  slu @JeGr
                  last edited by Oct 28, 2020, 2:06 PM

                  @JeGr said in Mit HA-Proxy die Zertifikate der Server benutzen:

                  Und dein Problem ist das einfachste und schnellste was man anlegen kann :) Sei froh ;)

                  So nachdem es ja ganz viele Knöpfe im HAProxy gibt habe ich mir zur Sicherheit ein Testsystem (VM) aufgebaut.

                  https://server1.example.com -> 10.10.10.10
                  https://server2.example.com -> 10.10.10.11

                  Hab ich das so richtig konfiguriert (Frontend Type ist "http/https(offloading)")?
                  Backend.png

                  Backend_Server1.png

                  Frontend.png

                  Frontend_Details.png

                  pfSense Gold subscription

                  S 1 Reply Last reply Oct 28, 2020, 3:42 PM Reply Quote 0
                  • S Offline
                    slu @slu
                    last edited by Oct 28, 2020, 3:42 PM

                    Nach weiterem lesen der Doku ist der Type falsch, es muss ssl/https(TCP mode) sein, richtig?

                    Damit wäre die ACL Expression "Server Name Indication TLS extension matches"
                    Und Value "server1.example.com"

                    Frontend_details.png

                    pfSense Gold subscription

                    1 Reply Last reply Reply Quote 0
                    • J Offline
                      JeGr LAYER 8 Moderator
                      last edited by Oct 28, 2020, 3:56 PM

                      @slu said in Mit HA-Proxy die Zertifikate der Server benutzen:

                      Nach weiterem lesen der Doku ist der Type falsch, es muss ssl/https(TCP mode) sein, richtig?

                      Für was genau denn? :D

                      Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                      If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                      S 1 Reply Last reply Oct 28, 2020, 3:58 PM Reply Quote 0
                      • S Offline
                        slu @JeGr
                        last edited by slu Oct 28, 2020, 4:02 PM Oct 28, 2020, 3:58 PM

                        @JeGr said in Mit HA-Proxy die Zertifikate der Server benutzen:

                        @slu said in Mit HA-Proxy die Zertifikate der Server benutzen:

                        Nach weiterem lesen der Doku ist der Type falsch, es muss ssl/https(TCP mode) sein, richtig?

                        Für was genau denn? :D

                        https -> server1.example.com 4444 -> server1 10.10.10.10:4444
                        https -> server2.example.com 4444 -> server1 10.10.10.11:4444

                        https://github.com/PiBa-NL/pfsense-haproxy-package-doc/wiki#https-for-multiple-domains-using-sni-from-1-frontend

                        Edit: Ich stelle gerade fest das ich den Thread etwas zweckentfremde, kannst Du den abtrennen und ein neuen Thread draus machen?

                        pfSense Gold subscription

                        1 Reply Last reply Reply Quote 0
                        • J Offline
                          JeGr LAYER 8 Moderator
                          last edited by Oct 28, 2020, 5:59 PM

                          Ja das ist klar, aber muss es weitergeleitet werden (Layer 4) oder willst du SSL terminieren und die Zerts auf der pfSense konfigurieren um alles an einem Platz zu haben?

                          Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                          If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                          1 Reply Last reply Reply Quote 0
                          • S Offline
                            slu
                            last edited by Oct 28, 2020, 6:13 PM

                            Die Zertifikate sollen auf den jeweiligen Server bleiben, also nicht auf der pfSense/HAProxy.
                            Es handelt sich also im Layer 4.

                            pfSense Gold subscription

                            1 Reply Last reply Reply Quote 0
                            • J Offline
                              JeGr LAYER 8 Moderator
                              last edited by Oct 28, 2020, 7:22 PM

                              OK dann muss es ein https Backend sein (ssl/https TCP mode). Zu erkennen auch daran, dass unten dann die Rubrik für die Zertifikate verschwindet und entfällt

                              Ansonsten nach SNI filtern, das ist unverschlüsselt und müsste funktionieren, genau. Harter Match oder Regex oder Teilstring je nachdem wie es für dich passt und dann auf die Backends verteilen :)

                              Wenn du beim Aufruf einen 503 bekommst, dann musst du dir die Stats anschauen, dann sind die Backends ggf. offline (dann kann das Frontend auch nix routen). Wenn die Backends rot sind, dann klappt die Erkennung nicht bzw. der Health Check passt nicht.

                              Für SSL sollte das mit "enc(SSL) = yes und SSL checks = yes" bei der Server List pro Eintrag und beim Health Check "HTTP" klappen.
                              Wenn nicht, testweise mal auf "none" oder "Basic" (Ping) stellen, dann müssten sie auf jeden Fall gehen. Dann kann man das "warum" bzw. "wie" mit dem HTTP check später fixen :)

                              Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                              If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                              1 Reply Last reply Reply Quote 0
                              • S Offline
                                slu
                                last edited by slu Nov 22, 2020, 6:29 PM Nov 22, 2020, 6:27 PM

                                So ich hatte heute die nötige Ruhe und habe das mal konfiguriert, leider ohne Erfolg.

                                Wenn ich von extern die Domain aufrufe kommt ein SSL_ERROR_RX_RECORD_TOO_LONG.
                                Hat jemand ein Hinweis für mich was ich falsch gemacht habe?

                                (IP und DNS Namen sind natürlich anonymisiert und nicht so in der echten Konfig)

                                frontend VDSL
                                	bind			WAN_IP:443 name WAN_IP:443   
                                	mode			tcp
                                	log			global
                                	timeout client		30000
                                	tcp-request inspect-delay	5s
                                	acl			ACLWebServer	req.ssl_sni -m sub -i web.example.com
                                	tcp-request content accept if { req.ssl_hello_type 1 }
                                	use_backend WebServer443_ipvANY  if  ACLWebServer 
                                
                                backend WebServer443_ipvANY
                                	mode			tcp
                                	id			100
                                	log			global
                                	timeout connect		30000
                                	timeout server		30000
                                	retries			3
                                	option			httpchk OPTIONS / 
                                	server			WebServer443 192.168.10.45:443 id 101 ssl check-ssl check inter 1000  verify none
                                

                                pfSense Gold subscription

                                1 Reply Last reply Reply Quote 0
                                • J Offline
                                  JeGr LAYER 8 Moderator
                                  last edited by Nov 27, 2020, 3:28 PM

                                  Kannst du mal die Screens aus Front- und Backend posten? Ich hab eine Ahnung, aber das müsste ich da sehen. Hatte das gerade auch für nen Kunden eingerichtet und es gab erst die gleiche Fehlermeldung bevor ich den Fehler gefunden und gefixt habe :)

                                  Ist das Backend laut Status Online?

                                  Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                                  If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                                  1 Reply Last reply Reply Quote 0
                                  • S Offline
                                    slu
                                    last edited by slu Nov 27, 2020, 4:19 PM Nov 27, 2020, 4:12 PM

                                    **Ja Backend ist laut Status Online.

                                    So langsam dämmert mir was, ich denke "Encrypt(SSL)" darf nicht gesetzt sein, das erklärt auch weshalb da ein pfSense Cert mit der Fehlermeldung gekommen ist.**

                                    frontend.png

                                    backend.png

                                    Edit:
                                    https://www.haproxy.com/de/blog/enhanced-ssl-load-balancing-with-server-name-indication-sni-tls-extension/

                                    pfSense Gold subscription

                                    1 Reply Last reply Reply Quote 0
                                    • J Offline
                                      JeGr LAYER 8 Moderator
                                      last edited by Nov 27, 2020, 6:38 PM

                                      Mach mal im Backend bitte den Haken bei "Encrypt(SSL)" raus - da du ja nicht re-encodest :)

                                      Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                                      If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                                      S 1 Reply Last reply Apr 16, 2022, 1:28 PM Reply Quote 1
                                      • S Offline
                                        slu @JeGr
                                        last edited by Apr 16, 2022, 1:28 PM

                                        @jegr
                                        ich habe den alten Thread wieder gefunden und es ist ja Ostern :)

                                        Mit dem Type "ssl/ https(TCP mode)" habe ich keine Chance auf den User Agent zu filtern da wir im Layer 4 sind, richtig?

                                        pfSense Gold subscription

                                        J 1 Reply Last reply Apr 21, 2022, 10:24 PM Reply Quote 0
                                        • J Offline
                                          JeGr LAYER 8 Moderator @slu
                                          last edited by Apr 21, 2022, 10:24 PM

                                          @slu Wenn du nicht offloadest eher nicht, da dann weder HTTP Header noch sonstige Dinge unverschlüsselt zur Verfügung stehen. Das Einzige IMHO ist der SNI Header der dann noch zu lesen ist um überhaupt die Zustellung zu machen. Für alles andere müsste er die Verbindung annehmen.

                                          Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                                          If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                            This community forum collects and processes your personal information.
                                            consent.not_received