Installe HA probleme nginx proxy

Mon problème

Bonjour à tous,
Je découvre HA depuis quelques jours, mon installation s’est faite sur un serveur ESXI, réalisée sans problème grâce aux tutos dispo sur le forum. (Via le VMDK à déployer).
En local je peux accèder directement à l’interface de HA via son adresse interne (192.168.2.187:8123)
En externe (internet, etc.) je souhaite y accèder via mon reverse proxy nginx (comme fait pour jellyfin, plex, jeedom, guacamole, etc.), ce serveur nginx est en DMZ sur 192.168.5.6.
Une fois nginx configuré je vois que tout est ok mais pas sur HA, j’avais un message d’erreur qui me disait que ma configuration n’autorisait pas ça. Après quelques recherches j’ai constaté qu’il fallait modifier le fichier configuration.yaml pour déclarer le proxy afin que HA soit ok. Depuis que c’est fait, je n’ai plus ce message et je peux afficher ma login page.

Il me reste cependant un problème ;
Quand j’arrive sur mon HA depuis mon reverse proxy (via internet), je vois la page de login, je me log et là un message m’indique : « Unable to connect to Home Assistant. Retry ». et dans HA dans le logfile il y a ceci :

Logger: homeassistant.components.http.ban
Source: components/http/ban.py:124
Integration: HTTP (documentation, issues)
First occurred: 30 décembre 2021, 17:11:12 (19 occurrences)
Last logged: 09:58:00

Login attempt or request with invalid authentication from xxxxxxx5.abo.wanadoo.fr (xx.xx.xx.xx). (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36)
Login attempt or request with invalid authentication from jpams-natxxxx (yy.yy.yy.yy). (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36)
Login attempt or request with invalid authentication from jpams-nat13 (zz.zz.zz.zz). (Mozilla/5.0 (iPhone; CPU iPhone OS 15_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Mobile/15E148 Safari/604.1)

Je vois bien mes clients arrivés (testé depuis pc/mac/iphone via adresse wan différente) avec leur IP respectives.
Je ne vois pas ce que peut poser ce problème ou expliquer ce comportement.

Ma configuration


# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

#####
http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 192.168.5.6    #The IP shown in the warning
    - 127.0.0.1
  ip_ban_enabled: true
  login_attempts_threshold: 5

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

Pour bien tout partager voici la configuration de mon nginx proxy (pour rappel il est en 192.168.5.6) :

nuc@RPCP:~$ cat /etc/nginx/sites-enabled/ha.conf

server {

   listen 443 ssl http2;
   server_name ha.xxx.top;
   ssl on;
   ssl_certificate /etc/letsencrypt/live/xxxx.top/fullchain.pem;
   ssl_certificate_key /etc/letsencrypt/live/xxxx.top/privkey.pem;

   location / {
   proxy_pass http://192.168.2.187:8123;
   proxy_set_header Host $host ;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
   }
}

Si vous avez des idées :slight_smile:

Merci

Dans le location il faut en plus

            proxy_set_header    Upgrade     $http_upgrade;
            proxy_set_header    Connection  "upgrade";

Et normalement, ça roule. Peut-être un doute sur http2 que je n’ai pas dans le listen.

1 « J'aime »

Hello Golfvert,
Je vais tester ça
Merci

Il s’agit donc bien de la bonne solution !
Le paramètre http 2 ne pose pas de problème en revanche l’absence des deux lignes que tu as partagé pose problème.
Pour le moment je n’ai pas compris qu’elle est l’action de l’application de ces commandes, si quelqu’un sait expliquer l’utilité je suis preneur, bien que cette partie est plus à creuser dans la doc nginx est moins HA.

Merci en tout cas ! :slight_smile:

Salut Anktarius,

C’est pour « faire passer » le websocket de HA :wink:

Merci ! Effectivement je n’avais pas percuté que HA utilise un websocket, d’autant plus que copier/coller la ligne de Golfvert dans google pointe directement vers la doc nginx dans la rubrique websocket :smiley:

Merci à vous deux en tout cas, je vais maintenant découvrir HA et comprendre les subtilité entre jeedom et HA.

1 « J'aime »