HA über nginx

Homer78

New member
Hallo Forum,

vielleicht kann mir sagen wo der Fehler liegt.
Ich möchte per App auf meinen HA Server (Docker) zugreifen. Lokal per IP kein Problem.

In der FritzBox ist der Port freigegeben.
Alle Anfragen werden zum nginx reverse proxy (Docker) weitergeleitet.
Anfrage die an ha.mydomain.org gehen werden an die Interne IP und Port 8123 weitergeleitet/angefragt.
und irgendwo scheint hier ein Problem zugestehen.

Alle anderen Domain Einträge laufen ohne Probleme beim nginx reverse proxy durch.
 
Hast Du in der configuration.yaml im Bereich http:
Reverse proxies auch konfiguriert?
YAML:
http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 10.0.0.200      # Add the IP address of the proxy server
    - 172.30.33.0/24  # You may also provide the subnet mask
 
Grundsätzlich ist bei Dingen hinter dem Reverse-Proxy immer auf eine ordnungsgemäße Konfiguration zu achten. Eine besondere Rolle dabei spielt zudem der Punkt "use_x_forwarded_for", da damit die originale anfragende IP ausgewertet werden kann. Das Backend-System sieht ansonsten nur die IP vom Reverse-Proxy. Greift dann ein Sicherheitsmechanismus (z.B. fail2ban) und "use_x_forwarded_for" wird nicht ausgewertet, wird bei zuvielen Anmeldungen einfach die IP vom Reverse-Proxy gesperrt, anstatt die IP, von welcher die fehlerhaften Logins kamen. Also besser auch ruhig nochmal alles andere hinter dem Reverse-Proxy darauf kontrollieren bzw. in die jeweiligen Dokus schauen, wie beim Einsatz hinter einem Reverse-Proxy entsprechend zu verfahren ist :)
 
Der Wink mit Zaunpfahl, hat geholfen :rolleyes:

Ab trusted_proxies: war alles richtig eingetragen, aber warum auch immer hatte ich es AUS-kommentiert.

Was ich jetzt aber nicht so ganz verstehe ... ha.mydomain.org wird vom nginx reverse proxy zu der IP 1.2.3.4 auf den Port 8123 weitergeleitet. Warum muss ich den Port beim Aufrufen der Domain noch mit angeben?
 
Was ich jetzt aber nicht so ganz verstehe ... ha.mydomain.org wird vom nginx reverse proxy zu der IP 1.2.3.4 auf den Port 8123 weitergeleitet.
"Weiterleiten" ist in diesem Kontext ein etwas "schwieriger" Ausdruck. Im Grunde genommen redet der Client "nur" mit dem Reverse-Proxy (Frontend) und der Reverse-Proxy wiederum redet mit dem Backend-System.
ha.mydomain.org wird vom nginx reverse proxy zu der IP 1.2.3.4 auf den Port 8123 weitergeleitet
Das kommt auf das Backend-System an: Reagiert es a) nur auf die IP, b) nur auf den FQDN (ha.mydomain.org), c) oder einfach auf beides (ggf. auch alles), was dem System vorgeworfen wird und liefert die "default"-Seite aus.

EDIT: Letzteres ist auch immer vom Backend abhängig, ist also auch erstmal unabhängig vom HA zu betrachten, Frage ist halt, wie HA sich diesbezüglich verhält, da bin ich aber nicht so im Thema :)
 
Wenn Du den Host richtig konfiguriert hast, nehme an Du verwendest den Nginx Proxy Manager.
Musst Du keinen Port mit angeben. https://mydomain.xyz führt zu 192.168.128.233:8123
Bildschirmfoto 2023-11-02 um 14.20.05.png
Für den Proxy Manager braucht es ja nur 2 Port Freigaben im Router 80:80 und 443:443 jeweils auf die IP-Adresse vom NPM.
Ggf. 80:xx und 443:xxx falls Du im NPM andere Ports als die Standard zugewiesen hast.

Wenn Deine Home Assistant Instanz über mydomain.xyz:8123 erreichbar ist, dann ist das am NPM vorbei. Und Du hast im Router den Port 8123:8123 für die IP Adresse von Home Assistant freigegeben.

BTW: Weil Du was von Home Assistant im Docker schreibst.
Hast Du Dich bewusst für eine Docker Installation entschieden. Und sind Dir die Unterschiede/ Einschränkungen im Vergleich zu Home Assistant OS bekannt? Hat jetzt nicht mit dem Nginx zu tun.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.387
Beiträge
61.564
Mitglieder
6.562
Neuestes Mitglied
KogerLi
Zurück
Oben