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

    App kommt nicht durch HAProxy

    Scheduled Pinned Locked Moved Deutsch
    86 Posts 4 Posters 53.5k 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.
    • V
      viragomann
      last edited by

      @alcamar said in App kommt nicht durch HAProxy:

      Der Hausautomationserver bietet je nach Client (Browser, Tablet, Handy) verschiedene Ports (8083-8085). Die App nutzt den Handy-Port, wenn er angegeben wird. Man kann diesen also optional in der App angeben. Ich habe das aber mit dem Namen gelöst. M.Name.de, T.Name.de und Name.de landen auf den richtigen Port, ohne diesen explizit anzugeben.

      Und das lief im Synology ebenso über die Namen?

      Mir ist nicht klar,. warum das überhaupt über einen HTTP-Proxy laufen muss, wenn die App ohnehin auf einen eigenen Port geht, der in dieser nur einmal eingestellt werden muss. Mir wäre ziemlich gleichgültig, welcher das ist.

      A 1 Reply Last reply Reply Quote 0
      • A
        Alcamar @viragomann
        last edited by

        @viragomann das lief über die Namen. Ich habe auf der Fritz nur Port 443 und Port 80 offen und VPN. Das ist auch meine Motivation für einen Proxy. Vor Jahren hatte ich alle Ports für die Hausautomation offen. Mit dem Proxy habe ich alle geschlossen.

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

          @alcamar Ja aber wenn du das über den Namen gelöst hast, warum dann nicht so:

          • m.sub.domain.de (wird ja nur für Mobile benutzt?)
          • extern auflösen auf IP der Fritte
          • checken, dass 443 dann auf den Homeserver weitergereicht wird an den richtigen Port
          • intern direkt auf den Homeserver auflösen lassen via DNS Override!
          • dadurch intern kein Proxy nötig, weil er direkt mit m.sub.domain.de:8084 an den Server rangeht/rankommt, während er extern dann :443 nutzt und via Proxy umgesetzt wird.

          Und die anderen Kisten nutzen dann ja eh eine andere Domain und werden entsprechend anders gehandelt?
          Damit hast du extern immer noch nur 80/443 offen und intern verbindest du dich ohne Proxy direkt mit der Kiste was eh schneller sein dürfte. Und gut ist :)

          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.

          A 2 Replies Last reply Reply Quote 0
          • A
            Alcamar @JeGr
            last edited by

            @jegr Hallo Jens, danke. Ich werde das alternativ prüfen. Im gleichen Augebenblick, wie Dein Post kam, aber ich eine "Lösung"., die ich zwar noch nicht kapiere, und eher zufällig gefunden habe. Wenn ich beim Default Backend den Hausautomationsserver eintrage, macht die App keine zicken. ob das wirklich eine Lösung ist, weiß ich nicht, weil vielleicht geht jetzt irgendetwas anderes nicht. Muss ich prüfen...

            V 1 Reply Last reply Reply Quote 0
            • V
              viragomann @Alcamar
              last edited by

              @alcamar
              Das deutet darauf hin, dass sonst für die Zugriffe vom Handy keine Regel angewandt wurde.

              A 1 Reply Last reply Reply Quote 0
              • A
                Alcamar @JeGr
                last edited by

                @jegr die m.sub.domain.de, die nur das Handy nutzt, lässt sich als Host im DNS HostOverride nicht eingeben. Der Hostname muss wohl ohne "." sein. Mein m.sub will er nicht.
                Ich habe das Prinzip auf die Kamera-App angewandt, wo ich ein sehr ähnliches Problem habe. Exterene Auflösung klappt, 443 landet auf auf der pfsense, wo ich ein Host Override auf die Cam1 habe. Trotzdem meldet sich die App nicht an der Cam an.

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

                  @alcamar said in App kommt nicht durch HAProxy:

                  @jegr die m.sub.domain.de, die nur das Handy nutzt, lässt sich als Host im DNS HostOverride nicht eingeben. Der Hostname muss wohl ohne "." sein. Mein m.sub will er nicht.

                  Ja und? Dann trage doch m als Hostname und sub.domain.de als Domain ein, ist ja auch korrekt so?
                  Dass es funktioniert kannst du dann mit Diagnostics/DNS Lookup testen - und dein Handy/App sollte es auch richtig auflösen bzw. die Sense als DNS haben, sonst macht der ganze Spaß natürlich keinen Sinn.

                  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.

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    Alcamar @viragomann
                    last edited by

                    @viragomann Du meinst im HAProxy nimmt von der Url gar keine Notiz. Nur wenn ich ich sie als Default eingebe, leitet er dorthin standardmäßig weiter?
                    Aber dann warum dieses Verhalten über die App und nicht auch über den Browser?

                    V 1 Reply Last reply Reply Quote 0
                    • V
                      viragomann @Alcamar
                      last edited by

                      @alcamar
                      Der Browser nutzt ja einen anderen Host, oder?

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        Alcamar @JeGr
                        last edited by

                        @jegr Der Name m klappt natürlich und der Rest ist dann Domain. Peinlich.
                        Diagnostics/DNS Lookup wirft mir die interne IP-Adresse des Homeservers aus. Als Nameserver 127.0.0.1 (Hätte das die pfsense erwartet 192.168.1.1)
                        Bei der App wird es wieder problematisch, weil ein DNS kann ich dort nicht eintragen. Ich dachte, dass OpenVPN das DNS-Problem lösen würde, tut es aber auch nicht.
                        Die Ping-App auf dem Handy gibt auf m.sub.domain.de eine IP in Hexa-Code zurück.

                        JeGrJ 1 Reply Last reply Reply Quote 0
                        • A
                          Alcamar @viragomann
                          last edited by

                          @viragomann Der Standardweg über den Browser ist name.domain.de Nur die App nutzt als Adresse m.name.domain.de. Im Browser geht diese natürlich auch. Der Unterschied zwischen den Adressen ist nur die Darstellung.

                          • Die Standard-Adresse ist die nomale Web-Seite in Standardauflösung und

                          • die m.-Adresse ist die Darstellung kleine Devices.

                          name.domain.de hat den Default-Port 8083. Nimmt man explizit den Port für die kleinere Auflösung geht das mit name.domain.de:8084.
                          Um mir den Port zu sparen habe ich m.name.domain.de = name.domain.de:8084

                          V 1 Reply Last reply Reply Quote 0
                          • V
                            viragomann @Alcamar
                            last edited by

                            @alcamar
                            Und ist das alles auch so in HAproxy eingerichtet?

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              Alcamar @viragomann
                              last edited by

                              @viragomann ja, aber ich komme immer mehr zu dem Schluss, dass da irgendwie ein Konzeptionsfehler ist.
                              Bildschirm­foto 2023-03-02.jpg
                              Ich glaube, dass ich weg muss, von dem https-Shared, was zwar die Übersicht verbessert, aber nicht adäquat gruppiert. Vermutlich brauche ich ein https-Shared für die Cams und eins für die Hausautomation usw. Pro https-Shared hätte ich dann ein Default Backend. Für die App wäre es wohl die Lösung.

                              V 1 Reply Last reply Reply Quote 0
                              • V
                                viragomann @Alcamar
                                last edited by

                                @alcamar
                                Das sind alles Shared Frontends?

                                Bei mir ist alles was an eine IP geht, in einem, auch beide Ports 80 und 443.

                                Aber Shared Frontends sollten an sich nicht das Problem sein. Du musst nur bedenken, dass sobald eine ACL in einem Frontend zutrifft, die entsprechende Action angewandt wird und weitere Frontends nicht mehr zum Zug kommen.

                                Aber interessanter als die vielen Frontends sind jedenfalls die ACL und Actions darin.

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

                                  @alcamar said in App kommt nicht durch HAProxy:

                                  Als Nameserver 127.0.0.1 (Hätte das die pfsense erwartet 192.168.1.1)
                                  Bei der App wird es wieder problematisch, weil ein DNS kann ich dort nicht eintragen. Ich dachte, dass OpenVPN das DNS-Problem lösen würde, tut es aber auch nicht.
                                  Die Ping-App auf dem Handy gibt auf m.sub.domain.de eine IP in Hexa-Code zurück.

                                  Sorry ich verstehe kein Wort. Was ist kaputt? Bitte vielleicht auch einfach mal mehr deiner Aussagen mit Screenshots untermalen damit man weiß was du wo woher wie siehst, ich verstehs nämlich einfach nicht mehr.

                                  Es kann doch jetzt nicht schwer sein, die m.blah.domain.de mal im DNS der pfSense als Host Override direkt auf den FHEM Server zu konfigurieren, das dann in die App einzutragen und von intern dann zu testen ob der Server aufgeht. Wenn ja - profit. Super - da die App innen wahrscheinlich dann einfach den internen Port automatisch anhängt und nutzt.

                                  Und von extern zeigt der m Name dann auf die Public IP4 (via DynDNS oder wie auch immer) und landet dann mit 443 am Proxy und sollte via shared frontend dann auch auf dem FHEM landen.

                                  Das war die Idee dahinter. Ich kenne eben die App nicht, die HomeAssistant Kiste macht aber eben was ähnliches was ich genauso nutze und weiß dass es deshalb funktioniert. Daher steckt wahrscheinlich entweder noch nen DNS Problem oder nen Proxy Knacks irgendwo. :)

                                  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.

                                  A 2 Replies Last reply Reply Quote 0
                                  • A
                                    Alcamar @JeGr
                                    last edited by

                                    @jegr sorry, wenn ich mich nicht verständlich ausgedrückt habe.

                                    @jegr said in App kommt nicht durch HAProxy:

                                    Ja und? Dann trage doch m als Hostname und sub.domain.de als Domain ein, ist ja auch korrekt so?
                                    Dass es funktioniert kannst du dann mit Diagnostics/DNS Lookup testen - und dein Handy/App sollte es auch richtig auflösen bzw. die Sense als DNS haben, sonst macht der ganze Spaß natürlich keinen Sinn.

                                    das habe ich mit der m.blabla.de als input in Diagnostics DNS gemacht:
                                    Bildschirm­foto 2023-03-03 um 10.42.33.png

                                    Die 10.10.1.74 die IP-Adresse des Fhem-Servers und sollte damit ok sein.

                                    Die Adresse wird richtig aufgelöst, wenn man aus dem Internet kommt. Ist also auch ok.

                                    @jegr said in App kommt nicht durch HAProxy:

                                    Und von extern zeigt der m Name dann auf die Public IP4 (via DynDNS oder wie auch immer) und landet dann mit 443 am Proxy und sollte via shared frontend dann auch auf dem FHEM landen.

                                    Leider Nein. Die App geht trotzdem nicht. Der Proxy funktioniert nur dann, wenn ich den Default Server in http-shared auf fhem umstelle, was aktuell meine "Lösung" ist. Weshalb ich denke, dass mein http-shared nicht ok ist. @viragomann hat einen für mich plausiblen Ansatz pro IP-Adresse einen http-shared zu machen.
                                    Deinen Ansatz ohne Proxy auf diesen Server zu kommen, würde ich präferieren, aber ich bekomme das nicht hin, oder ich habe noch irgendwo einen Knoten drin.

                                    V 1 Reply Last reply Reply Quote 0
                                    • A
                                      Alcamar @JeGr
                                      last edited by Alcamar

                                      @jegr said in App kommt nicht durch HAProxy:

                                      Es kann doch jetzt nicht schwer sein, die m.blah.domain.de mal im DNS der pfSense als Host Override direkt auf den FHEM Server zu konfigurieren, das dann in die App einzutragen und von intern dann zu testen ob der Server aufgeht. Wenn ja - profit. Super - da die App innen wahrscheinlich dann einfach den internen Port automatisch anhängt und nutzt.

                                      Eine OpenVPN-Verbindung mit dem Handy zur pfsense sollte den internen Zugriff simulieren. Aber wie beschrieben, geht das auch nicht. Intern simulieren hätte ich mit WLAN-Zugriff einfacher haben können, aber mein WLAN (Fritte) läuft derzeit noch an der pfsense vorbei, bis ich für die Integration des WLANs in pfsense eine Lösung finde.

                                      1 Reply Last reply Reply Quote 0
                                      • V
                                        viragomann @Alcamar
                                        last edited by

                                        @alcamar said in App kommt nicht durch HAProxy:

                                        Der Proxy funktioniert nur dann, wenn ich den Default Server in http-shared auf fhem umstelle, was aktuell meine "Lösung" ist. Weshalb ich denke, dass mein http-shared nicht ok ist.

                                        Welche Regeln sind da drinnen?

                                        Eine OpenVPN-Verbindung mit dem Handy zur pfsense sollte den internen Zugriff simulieren. Aber wie beschrieben, geht das auch nicht

                                        Hast du den internen DNS im OpenVPN Server bereitgestellt?
                                        Wenn es der DNS Resolver ist, muss der VPN Tunnel Pool eventuell noch in den ACLs hinzugefügt werden.

                                        Andriod Geräte dürften noch zusätzliche Kicks benötigen, um den über VPN bereitgestellten DNS zu verwenden.
                                        Welcher OpenVPN Client ist das?

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          Alcamar @viragomann
                                          last edited by

                                          @viragomann im https-shared steht fast nichts:
                                          Bildschirm­foto 2023-03-03 um 12.43.00.png
                                          Dort habe ich den Default Backend eingetragen, was aktuell die einzige Lösung ist. Auch die Zertifikate aller Server habe ich hier aufgelistet.

                                          In den einzelen Frontends ist dann die Adresse, auf die reagiert wird und der Verweis auf das dazugehörige Backend.

                                          Bildschirm­foto 2023-03-03 um 12.45.08.png

                                          (Die URL im Screeshot ist ein Platzhalter)

                                          Den DNS habe ich im OpenVPN eingetragen:
                                          Bildschirm­foto 2023-03-03 um 12.55.41.png

                                          @viragomann said in App kommt nicht durch HAProxy:

                                          Wenn es der DNS Resolver ist, muss der VPN Tunnel Pool eventuell noch in den ACLs hinzugefügt werden.

                                          das habe ich nicht gemacht. Wo trage ich den ein?

                                          Ich nutze die App OpenVPN unter IOS.

                                          V 1 Reply Last reply Reply Quote 0
                                          • V
                                            viragomann @Alcamar
                                            last edited by

                                            @alcamar
                                            Bei dem fhem Frontend sollte wirklich nichts schief gehen. Wenn das damit nicht auf das fhem Backend weitergeleitet wird, doch aber mit demselben als Default-Backend im https-shared, würde ich vermuten, dass ein anderes Shared Frontend die Requests abfängt, weil auf die Regel zutreffend, und auf das eigene Backend weiterleitet, oder der Hostname einfach nicht zutrifft.
                                            Letzteres hieße, dass der Client diesen Hostnamen nicht liefert. Eher glaube ich aber, das die Regel eines anderen Frontend zuvor schon greift.

                                            Du kannst ja einfach versuchen, das fhem Frontend ganz noch oben zu setzen, vor die Cams.

                                            (Ich glaube, nun bekomme ich eine Ahnung, wofür Shared-Frontends gut sind. Danke. 😊 )

                                            Den DNS habe ich im OpenVPN eingetragen:

                                            Mit "DNS Default Domain" ist eine Domain gemeint, nicht eine IP. Das kann bspw. deine lokale Domain sein (meinedomain.local).
                                            Die IP ist vermutlich dein interner DNS Server. Dann gehört die bei "DNS Server 1" rein.
                                            Ob du da wirklich noch Public DNS Server bereitstellen solltest, würde ich in Frage stellen, jedenfalls, wenn das einer auf der pfSense selbst ist, der ja vermutlich läuft, wenn die VPN zustande kommt. Also wozu?
                                            Du möchtest, dass die Clients über deinen lokalen DNS die Namensauflösung machen, damit sie die internen Host Overrides sehen. Die öffentlichen kennen diese nicht.

                                            Die lokalen Subnetze sollten im Resolver automatisch erlaubt werden, allerdings funktioniert das nicht immer nach meiner Erfahrung.
                                            In den Resolver Settings gibt es einen "Access Lists" Tab. Da das OpenVPN Tunnel Netz hinzufügen.
                                            War bei mir wohl auch nötig:
                                            090f3bcd-0156-4bca-bb7d-e2e8f3d043f7-grafik.png

                                            Du kannst die Funktion aber auch einfach von einem Client aus mit einem NS Lookup testen.

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