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

    Shared Frontend mit HA-Proxy

    Scheduled Pinned Locked Moved Deutsch
    5 Posts 2 Posters 722 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.
    • P
      pixel24
      last edited by

      Hallo zusammen,

      ich habe auf meiner PFSense LetsEncrypt eingerichtet und anschließend den HA-Proxy. Ich habe eine feste WAN-IP die an der PFSense anliegt (10.20.30.40).

      Für einen lokalen Host "gw.mydomain.de" (hier läuft die Groupware) klappt das auch problemlos. Ich habe auf meinem Webserver (öffentlich bei All-Inkl) einen A-Record gesetzt:

      gw.mydomain.de -> 10.20.30.40

      Auf der PFSense ein Backend angelegt:
      Name: gw.mydomain.de
      Forwardto: Adress+Port
      Address: 192.168.24.6
      Port: 443
      Encrypt(SSL): yes
      SSL checks: no

      und ein Frontend:

      Name: gw.mydomain.de

      [External address]
      Listen address: WAN address (IPv4)
      Port: 443

      [Access Control lists]

      Name: gw.mydomain.de
      Expression: Host matches: gw.mydomain.de

      [Aktion]
      Action: Use Backend
      Condition acl names: gw.mydomain.de
      backend: gw.mydomain.de

      [SSL Offloading]
      Zertifikat: gw.mydomain.de (... LetsEncrypt...)

      Das funktioniert auch alles. Wenn ich von extern https://gw.mydomain.de aufrufe lande ich auf dem internen Groupware-Server und das Zertifikat ist korrekt und Vertrauenswürdig.

      Nun möchte ich jedoch zwei weitere interne Maschinen ebenso erreichen. Auf dem All-Inkl-Server habe ich dazu zwei weitere A-Records gesetzt:

      pbx01.mydomain.de -> 10.20.30.40
      cloud.mydomain.de -> 10.20.30.40

      Jetzt kommen die Fragen/Schwierigkeiten. In PFSense brauche ich hierzu ja ein Shared Frontend Im Frontend gibt es ja eine entsprechende Option "Shared Frontend" Wenn ich diese aktiviere ändert sich die Maske und ich muss ein Primary frontend angeben. Hier steht jedoch nur das Frontend was ich für die acme-challange angelegt habe zur Auswahl was ja nicht richtig sein kann.

      Wie muss ich für die Konfiguration des Shared Frontend vorgehen?

      Viele Grüße
      sven

      1 Reply Last reply Reply Quote 0
      • P
        pixel24
        last edited by

        Hallo zusammen,

        ich habe hier:
        https://blog.devita.co/pfsense-to-proxy-traffic-for-websites-using-pfsense/

        gefunden wie es funktioniert.. Also erledigt :-)

        1 Reply Last reply Reply Quote 0
        • noplanN
          noplan
          last edited by

          wieso ein shared frontend
          für die gleiche domain ?

          aber wenns funktioniert !
          lgNP

          P 1 Reply Last reply Reply Quote 0
          • P
            pixel24 @noplan
            last edited by

            ich kann die Frage wahrscheinlich nicht adäquat beantworten aber ich habe ja keine Wildcard-Zertifikate - also ein Zertifikat pro Hostname. Wenn ich kein shared Frontend mache kann ich in einem Frontend ja nur ein Zertifikat auswählen und somit nur einen Host mit einem verifiziertem Zertifikat ansprechen.

            Nun habe ich ein Frontend (ohne die Option "Shared Frontend") angelegt - es trägt lediglich den Namen "shared_frontend" und hierfür ein eigenes Zertifikat angelegt. Bei den einzelnen Frontends für die tatsächlichen Hosts habe ich "shared_frontend" als prmäres Frontend angewählt, die Option "Shared Frontend" ausgewählt und unter Erweitert:

            • Specify additional certificates for this shared-frontend.

            • Zertifikat für den tatsächlichen Host ausgewählt und:

            • Add ACL for certificate CommonName. (host header matches the "CN" of the certificate)

            • Add ACL for certificate Subject Alternative Names.

            gesetzt. Die Vorgehensweise erschien mir logisch denn ohne die Option "Shared Frontend" kann ich jedem Frontend ja nur ein einziges Zertifikat zuordnen und somit nur einen Hostnamen ansprechen. Versuche ich ein zweites Frontend für den zweiten Host anzulegen - was ich zuerst probiert habe - meckert er da es auf die gleiche öffentliche IP zeigt. Das funktioniert somit nicht.

            Wie gesagt ... das geschriebene ist unter Vorbehalt zu sehen da ich noch nicht so wirklich Tief im Thema drin bin. Sollte meine Vorgehensweise nicht korrekt sein oder einfach nicht optimal bin ich für jede Erleuchtung sehr dankbar :-)

            1 Reply Last reply Reply Quote 0
            • noplanN
              noplan
              last edited by

              Versuch mal folgenden Ansatz
              für jedes backend das du von extern auf der gleichen IP+Port (für den Anfang) mit ssl offloading erreichen willst

              a) im frontend das Zert für das erste Backend eingeben

              d1a7d735-23d2-4fc9-8bfb-17a105924eff-grafik.png

              b) weiter unten die Zertifikate für jedes weitere Backend eintragen
              fa950d8f-6d97-4b6f-bae5-597336842bce-grafik.png

              63ad6e74-2bc7-4d5c-9f13-1ad7dfeeed85-grafik.png

              1. deine CA eintragen
                fc25a24b-46ca-4711-af74-3df75a7a49b7-grafik.png

              den Rest mittels ACL host matches machen

              !!Nicht vergessen!! ein default backend zu definieren wenn die ACLs nicht greifen das er darauf zurück fällt (man kann drüber diskutieren ob das sinnvoll oder anders zu handhaben aber für die Fehlersuche sehr hilfreich)

              so rennt das mit einer domain und ein paar backends ;)
              alle Certs via LE / DNS zeigt mittels A Record auf die extIP

              lgNP

              1 Reply Last reply Reply Quote 0
              • First post
                Last post
              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.