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.4k Views
    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.
    • S
      slu @JeGr
      last edited by

      @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 Reply Quote 0
      • S
        slu @slu
        last edited by

        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
        • JeGrJ
          JeGr LAYER 8 Moderator
          last edited by

          @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 Reply Quote 0
          • S
            slu @JeGr
            last edited by slu

            @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
            • JeGrJ
              JeGr LAYER 8 Moderator
              last edited by

              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
                slu
                last edited by

                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
                • JeGrJ
                  JeGr LAYER 8 Moderator
                  last edited by

                  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
                    slu
                    last edited by slu

                    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
                    • JeGrJ
                      JeGr LAYER 8 Moderator
                      last edited by

                      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
                        slu
                        last edited by slu

                        **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
                        • JeGrJ
                          JeGr LAYER 8 Moderator
                          last edited by

                          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 Reply Quote 1
                          • S
                            slu @JeGr
                            last edited by

                            @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

                            JeGrJ 1 Reply Last reply Reply Quote 0
                            • JeGrJ
                              JeGr LAYER 8 Moderator @slu
                              last edited by

                              @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.