Home Assistant Reverse Nginx SSL proxy

V článku IoT na chalupě v pustině padla zmínka o Nginx Proxy. Použít LAN Proxy lze pro nešifrované přenosy uvnitř (šifrované) sítě. Zejména pro starší a slabší kusy hardware. Nebo pro IoT hardware integrace, které SSL/TLS nepodporují. Tato vychytávka je ideálna:

  1. Když je pro WAN spojení SSL/TLS certifikát, no pro LAN šifrované spojení použít nemůžeme (nechceme). Díky NGINX Proxy se tedy v LAN k Home Assistant serveru připojíme i v případě absence podpory mDNS (na vašem routeru).
  2. V případě výpadku DNS a připojení pomocí doménového jména ha.domena.cz:8123. Funkční name server potřebujete taktéž pro připojení pomocí Nabu Casa.
  3. V případě, že používáte na Home Assistant panelu čístý nebo takzvaný degoogled či debloated Android s Bromite SystemWebView šifrované spojení fungovat nemusí.

Jisté situace (absence podpory mDNS v routeru) lze řešit doinstalováním Home Assistant pluginu Adguard Home. Ten mDNS umí. Adguard DNS ale nevyřeší hardware, který SSL/TLS šifrovaní nepodporuje. A nvyřeší ani Bromite System WebView.

Instalace a konfigurace Nginx SSL Proxy pluginu

Instalace pluginu je klikací a v češtině – tu není o čem psát :) Vzororvá konfigurace je k dispozici na kartě pluginu Nginx SSL Proxy Dokumentace. Samo sebou, předpokláda se, že HA máte nakonfigurovaný s funkční (sub)doménou, SSL portem a platným cerifikátem.

Před spuštením nastaveného Nginx Proxy pluginu (v našem případě konfigurace vypadá takto: …)

..je nutné zakomentovat konfiguraci SSL certifikátu a upravit nastavení http v configuration.yaml – v našem případě výsledná konfigurace (nepoužíváme port 443 ale 8807) vypadá takto:

http:
#  server_port: 8807
  use_x_forwarded_for: true     # Info pro HA, že požadavky přicházejí via reverzní proxy
  trusted_proxies:
    - 172.30.32.0/23            # V Hass.io potřebujeme pro Docker subnet
    - 127.0.0.1                 # Localhost IPv4 adresa
#  ssl_certificate: /ssl/fullchain.pem
#  ssl_key: /ssl/privkey.pem

Po bezchybném startu Nginx Proxy pluginu vidíme na kartě Log několik výstupu z inicializace s INFO oznámením o startu Nginx.

Konfigurace Android / iPhone Home Assistant klienta pak bude fungovat v kombinaci https://ha.domena.cz pro WAN + http://192.168.0.1:8123 (v případě, že vám v LAN funguje mDNS i http://hassio.local:8123) pro LAN.

Běží vám Home Assistant v ESXi jako virtuální stroj a mělo by, no mDNS nefunguje? Nezapomeňte skontrolovat nastavení virtuální sítě v ESXi. Existují potvrzená chyba mDNS/Multicast discovery. Problém je s použitím virtuální VMware LAN karty VMXnetX. Místo fyzické LAN karty. Pokud fyzickou kartu v nastavení virtuálního stroje nevidíte, aktivujte na LAN kartě (v ESXi seznamu hardware) I/O bypass. Následně bude možné fyzickou LAN kartu vybrat v instalaci VM HA / Network.