Home Assistant da Internet con reverse proxy e HTTPS: come funziona
Vediamo come pubblicare Home Assistant dietro un reverse proxy con HTTPS, dominio e trusted_proxies configurati correttamente.
Una delle configurazioni più pulite per accedere a Home Assistant da Internet consiste nell’utilizzare un reverse proxy.
Invece di pubblicare direttamente Home Assistant sulla rete Internet, il router inoltra le richieste HTTPS verso il reverse proxy. Quest’ultimo gestisce certificato TLS e dominio e inoltra poi il traffico verso Home Assistant nella rete locale.
Lo schema diventa:
Internet → router → HTTPS/reverse proxy → Home Assistant

Perché utilizzare un reverse proxy
Un reverse proxy permette di separare Home Assistant dal punto di ingresso pubblico.
Possiamo, ad esempio, utilizzare:
mentre Home Assistant continua internamente a rispondere su:
http://192.168.1.50:8123
È inoltre possibile ospitare più servizi usando sottodomini differenti senza esporre una porta diversa per ciascun servizio.
Cosa serve
Per una configurazione tipica occorrono:
- Home Assistant con IP locale fisso;
- un dominio o servizio DDNS;
- un reverse proxy, ad esempio NGINX, Caddy, Traefik o HAProxy;
- certificato HTTPS valido;
- port forwarding sul router;
- configurazione corretta dei trusted proxy in Home Assistant.
Home Assistant supporta esplicitamente l’utilizzo dei reverse proxy.
Configurare il router
In un’installazione HTTPS tradizionale il traffico pubblico arriva normalmente sulla porta TCP 443.
Il router deve quindi inoltrarlo verso il sistema che ospita il reverse proxy.
È importante evitare di utilizzare la funzione DMZ del router per esporre indiscriminatamente un server della rete domestica.
Apriamo soltanto le porte strettamente necessarie.
Configurare il reverse proxy
Nel reverse proxy creeremo un host che riceve le richieste per:
homeassistant.miodominio.it
e le inoltra verso:
192.168.1.50:8123
Il reverse proxy si occuperà inoltre del certificato HTTPS.
Dal punto di vista dell’utente avremo quindi:
senza bisogno di aggiungere :8123 all’indirizzo.
Configurare Home Assistant per il reverse proxy
Questo passaggio è indispensabile.
Home Assistant non accetta automaticamente gli header provenienti da un reverse proxy. Per motivi di sicurezza dobbiamo specificare quale proxy è autorizzato a inoltrare le richieste.
Nell’integrazione HTTP esistono due impostazioni specifiche:
use_x_forwarded_for;trusted_proxies.
La documentazione ufficiale precisa che le richieste provenienti da un reverse proxy vengono bloccate se queste impostazioni non sono configurate correttamente.
Un esempio concettuale può essere:
http:
use_x_forwarded_for: true
trusted_proxies:
- 192.168.1.20
In questo esempio 192.168.1.20 deve essere realmente l’indirizzo del nostro reverse proxy.
Non bisogna copiare questo IP alla cieca: va sostituito con quello della propria installazione.
HTTPS deve terminare nel punto giusto
Il browser dell’utente deve vedere un certificato valido per il dominio utilizzato.
Il reverse proxy può quindi ricevere la connessione HTTPS e inoltrarla internamente a Home Assistant.
Home Assistant supporta anche la configurazione TLS diretta, ma in un ambiente con più servizi il reverse proxy rende spesso più semplice centralizzare domini e certificati.
Non dimenticare MFA e aggiornamenti
Un servizio raggiungibile dall’esterno deve essere mantenuto aggiornato.
È inoltre consigliato:
- utilizzare password uniche;
- attivare MFA;
- limitare gli account amministratore;
- mantenere aggiornati Home Assistant, sistema operativo e reverse proxy.
Queste indicazioni sono coerenti con la checklist di sicurezza ufficiale di Home Assistant.
Reverse proxy o semplice port forwarding?
Il port forwarding è soltanto il meccanismo con cui il router inoltra una connessione.
Il reverse proxy aggiunge un livello che permette di gestire:
- dominio;
- HTTPS;
- certificati;
- più applicazioni;
- routing delle richieste.
Per questo, quando vogliamo mantenere pubblicamente raggiungibili più servizi della nostra rete domestica, è spesso una soluzione più ordinata rispetto all’esposizione diretta delle singole applicazioni.


