Les Carnets de Byfeel domotique , Objets connectés , DIY , Programmation, Nouvelles Technologies ….

Homme Assistant : Bad Request

Avec l’arrivée de la version 2021.7 ( juillet 2021), Home Assistant bloque désormais les requêtes venant d’un proxy ou reverse proxy si ce dernier n’est pas correctement renseigné dans les paramètres HTTP du fichier de configuration.

Ci dessous un rappel des paramètres existants à renseigner pour le bon fonctionnement de HA.

Toutes les réponses dans la documentation officiel

Comprendre l’intégration http

Si je reprends l’exemple de la documentation illustrant les paramètres http dans fichier configuration.yaml ( dossier config )

http:
  server_port: 12345
  ssl_certificate: /etc/letsencrypt/live/hass.example.com/fullchain.pem
  ssl_key: /etc/letsencrypt/live/hass.example.com/privkey.pem
  cors_allowed_origins:
    - https://google.com
    - https://www.home-assistant.io
  use_x_forwarded_for: true
  trusted_proxies:
    - 10.0.0.200
    - 172.30.33.0/24
  ip_ban_enabled: true
  login_attempts_threshold: 5

Les variables en détails :

  • server_port: Permets de changer le numéro de port ( par défaut si non renseigné 8123 )
  • ssl_certificate et ssl_key : Permets de renseigner le chemin du certificat ( a utilisé si vous avez installé le module let’s encrypt )
  • core_allowed_origins: Permets d’autoriser les demandes venant d’autres domaines ( ou ip ). Par exemple si vous avez un autre serveur domotique sur votre réseau ( jeedom , domoticz ou autres ) , il faudra renseigner l’ip de ce serveur afin de l’autoriser à interroger l’API de votre HA.
  • use_x_forwarded_for : Permets de transmettre les demandes provenant d’un proxy ( false par défaut ) , il faudra spécifier la liste des proxy auorisés via le paramètre trusted_proxies
  • trusted_proxies: Liste des proxy autorisés , Dans l’exemple ci-dessus le serveur ayant l’adresse 10.0.0.200 est autorisé et le serveur ayant une adresse ip comprise entre ( 172.30.33.1 et 172.30.33.254 ) sera accepté .
  • ip_ban_enabled: Permets d’activer la protection par « force brute » pour les tentatives de connexion frauduleuses ( si activé , lors du premier blocage , un fichier ip_bans.yaml sera créé à la racine du dossier config ( indiquant l’adresse IP banni la date et l’heure du blocage )
  • login_attempts_threshold: Le nombre de tentatives de connexion autorisé ( ici 5 )

Erreur BAD REQUEST

Pour revenir au problème du jour :
erreur « Bad Request » , il faut donc se concentrer sur les deux paramètres suivants .

Ligne a ajouter ou a modifier dans le fichier configuration.yaml

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 127.0.0.1   ( si un proxy est installé en local )
    - 192.168.4.250 ( adresse IP du reverse proxy )  par exemple reverse proxy du nas synology ou nginx proxy manager , traefik , ou autres ...
    - 172.30.33.0/24  ( si vous utilisez le NGINX home assistant proxy )

Commentaire sur “Homme Assistant : Bad Request”

Les commentaires sont fermés.