Home Assistant

Home Assistant Core (NGINX / Cloudflare): 400 Bad Request Untrusted reverse proxy

1. A cosa serve La guida risolve il blocco d'accesso remoto 400 Bad Request: Untrusted reverse proxy che si verifica quando si tenta di accedere a Home Assistant tramite Nginx Proxy Manager, Cloudflare Tunnel o DuckDNS.

Home Assistant Core: Home Assistant Core (NGINX / Cloudflare): 400 Bad Request Untrusted reverse proxy
Copertina editoriale DomotikPro

1. A cosa serve

La guida risolve il blocco d'accesso remoto 400 Bad Request: Untrusted reverse proxy che si verifica quando si tenta di accedere a Home Assistant tramite Nginx Proxy Manager, Cloudflare Tunnel o DuckDNS.

2. Specifiche e compatibilità

Piattaforma: Home Assistant Core v2021.7+. Requisito: Configurazione della sezione use_x_forwarded_for ed trusted_proxies in configuration.yaml.

3. Materiali e prerequisiti necessari

Prerequisiti: 1. Add-on Studio Code Server / File Editor. 2. Indirizzo IP del Reverse Proxy (es. 127.0.0.1 o IP del container NGINX).

Fase 1: Preparazione

Identifica l'indirizzo IP esatto del Reverse Proxy leggendo la riga d'errore stampata nel Registro di Home Assistant (Impostazioni > Sistema > Registro).

[SCHEMA GRAFICO: Flusso Reverse Proxy Sicuro: Connessione Esterna HTTPS ---> Nginx / Cloudflare (IP Proxy 172.30.33.0/24) ---> Trusted Proxies HA Core (Port 8123)]

Inserisci l'intero intervallo di sottorete Docker (es. 172.30.33.0/24) tra i trusted_proxies per evitare che l'IP del proxy cambi al riavvio degli Add-on!

Non impostare mai 0.0.0.0/0 come trusted_proxy per evitare che chiunque possa falsificare gli intestazioni HTTP X-Forwarded-For.

Fase 2: Configurazione

  • Apri il file configuration.yaml tramite Studio Code Server. 2. Aggiungi la sezione http: includendo use_x_forwarded_for: true e trusted_proxies. 3. Inserisci gli IP del tuo proxy. 4. Salva e riavvia Home Assistant Core.

Blocco YAML obbligatorio: http: use_x_forwarded_for: true, trusted_proxies: [IP_PROXY].

Fase 3: Automazione / Uso pratico

Configurazione corretta del blocco http in configuration.yaml:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24
    - 127.0.0.1
    - 192.168.1.150

Automazione YAML per il controllo di tentativi di accesso falliti:

alias: "Sicurezza - Avviso Tentativo Accesso Errato HTTP"
trigger:
  - platform: state
    entity_id: persistent_notification.httpproxy_warning
    to: "on"
action:
  - service: notify.mobile_app_smartphone
    data:
      title: "🚨 Proxy Non Autorizzato"
      message: "Rilevato tentativo di accesso da un Proxy non presente tra i trusted_proxies."

Verifica e test operativo

Collegati al tuo dominio esterno (es. https://casa.duckdns.org o tramite Cloudflare): la pagina di Login di Home Assistant deve caricarsi senza alcun errore 400.

L'interfaccia si apre correttamente mostrando il campo di inserimento credenziali utente.

Cosa fare se qualcosa non funziona

  • Errore 400 persiste: Verificare l'indentazione dello YAML nella sezione http:. 2. Loop di login: Svuotare i cookie ed la cache del browser. 3. SSL Error: Verificare la validità del certificato Let's Encrypt.

9. Sicurezza e privacy

Filtraggio rigoroso degli indirizzi IP del Proxy per prevenire attacchi di tipo Man-In-The-Middle ed IP Spoofing.

10. Requisiti e Risorse Ufficiali

Questa guida risolve una problematica tecnica di configurazione o sistema domotico. Di seguito i riferimenti alle documentazioni ufficiali:

* 🌐 Documentazione Ufficiale Home Assistant: [home-assistant.io/help](https://www.home-assistant.io/help/)

* 📦 Repository GitHub Troubleshooting: [github.com/home-assistant/core/issues](https://github.com/home-assistant/core/issues)

* 🛠️ Prerequisiti di sistema: Server Home Assistant OS aggiornato, connessione di rete LAN locale ed accesso Amministratore.