HA installé derrière un LoadBalancer L7

Introduction

Bonjour à toutes et tous :slight_smile:

Je viens de me lancer dans l’utilisation de HA et malheureusement je rencontre un soucis avec la configuration de celui ci.

J’espere que vous pourrez m’aider a trouver la solution à mon probléme !

Merci beaucoup :smiley:

Mon problème

Suite à l’installation de HA sur mon hyperviseur de type 1 (VMWare ESXI), et souhaitant rendre accessible HA depuis l’extérieur de mon réseau, je m’affaire a configurer le serveur KEMP qui est le seul a avoir un port exposé sur internet (443) avec une règle de redirection en content switching pour accéder a HA depuis internet.

Plus simplement dit voici comment j’ai configuré mon bousin:

Je sais que le certificat ssl entre mon fournisseur DNS (Cloudflare) et mon Load Balancer (KEMP), ainsi que la méthode que j’utilise pour crée mes règles de content switching sont valides puisque accéder à d’autres de mes services fonctionne sans soucis.

Par exemple:

kemp.mondomaine.com = PAS DE SOUCIS
web.mondomaine.com = PAS DE SOUCIS
esx.mondomaine.com = PAS DE SOUCIS

Et le tout avec mon navigateur qui me signale que le certificat wildcard let’sencrypt est valide !

Mais avec:

iot.mondomaine.com =

Et quand je regarde les logs de home assistant, je vois ceci:

Donc j’avoue ne pas comprendre pourquoi diable mon HA refuse catégoriquement que j’accede a son interface depuis la redirection de mon load balancer ?

Et tout les tutos que j’ai pu voir, tout les forums, etc… parlent de nginx proxy manager, configuration de nginx, nginx, et encore nginx.
Mais je n’utilise pas nginx dans ma config, donc cela ne m’aide pas :confused:

Auriez vous une solution a me proposer, une ligne de commande a taper, ou une configuration à modifier pour que HA accepte la connexion venant de mon load balancer ?
Parce que j’ai bien l’impression que c’est lui qui refuse que ca marche :open_mouth:

Merci beaucoup :slight_smile:

Voici aussi une capture du fichier Configuration.yaml:
image

Ma configuration


System Health

version core-2022.3.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.9.9
os_name Linux
os_version 5.10.98
arch x86_64
timezone Europe/Brussels
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 7.4
update_channel stable
supervisor_version supervisor-2022.03.3
docker_version 20.10.9
disk_total 30.8 GB
disk_used 2.4 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons File editor (5.3.3), MariaDB (2.4.0)
Lovelace
dashboards 1
resources 0
mode auto-gen
___

Salut,

Question bête ton LB il est configuré pour faire du HTTP et WS ? parce sinon ça sert à rien.
Après du point de vue archi, mettre un LB ça ne fait qu’ajouter de la complexité : HA c’est techniquement pas jouable pour faire de la haute dispo car les périphériques usb sont pas basculables

2 « J'aime »

Salut Pulpy :slight_smile:
Merci de la réponse rapide !

En realité l’utilisation de Kemp ici est plus pour le coté pratique que pourrai offrir un reverse proxy mais avec une interface graphique ( pas comme nginx proxy ou traefik par exemple)
Je ne l’utilise pas pour faire de la haute dispo mais bien pour le content switching :slight_smile:

Et il est configuré pour fonctionner en https strict, tout comme cloudflare.

Un peu comme tout les tech enthousiasths j’ai suivi le tuto de Network chuck pour installer mon KEMP et le configurer:

OK.
Donc 2 trucs :

  • http strict ça marche pas. Il faut les websockets, c’est indispensable pour HA. C’est très certainement le cas dans toutes les config nginx que tu as vu.
  • nginx proxy manager (ou traefik dans une moindre mesure) ça propose aussi une interface graphique…

Je vais donc consulter pour savoir si Kemp supporte les websockets.

Parce que dans ma petite tête de nabot, je me disais que le seul job que doit faire kemp, c’est prendre la page web du serveur web de HA et la redistribuer par le canal ssl qui est établi au travers de mon dns :confused:

Et je ne savais pas que ces 2 solutions comportaient une interface graphique pour la configuration des services.
Je ne les avaient jusque la utilisés que en version docker, et j’ai un mauvais souvenir des config de mes docker compose pour que traefik fonctionne correctement

Voilà un des mes dashboards Traefik


Personnellement, ça me sert très peu cette partie (d’où la mention dans une moindre de mesure) : ça ne fait que décrire la config et pas d’autre solution que de configurer via les fichiers (docker-composer mais pas que), mais ça me convient très bien
NPM par contre fait la config en graphique

1 « J'aime »

UPDATE !

Je viens de modifier ma config de HA en ajoutant les lignes suivantes:

http:
    ssl_certificate: /ssl/certificat.pem
    ssl_key: /ssl/certificat.key

Et en utilisant l’add on ssh pour envoyer via SCP mon certificat et ma clé privée sur Home assistant…
MAGIE !
Je peux accéder a HA depuis mon nom de domaine :smiley:

Merci a @Pulpy-Luke d’avoir pris le temps de m’aider en tout cas :heart_eyes: