Nous avons déjà proposé plusieurs guides concernant la sécurité de votre serveur domotique DIY, Nous avons déjà fait le tour de la question avec Jeedom, attardons-nous maintenant à l’autre système domotique libre Home Asssitant.
Pour faire au plus simple, je vous conseille d’utiliser un NAS Synology pour porter le certificat SSL. Bien plus simple à mettre en place, sans devoir jouer avec la ligne de commande, mais également plus efficace car le NAS Synology par le biais du reverse proxy, peut porter un même certificat SSL pour l’ensemble de vos serveurs à accéder depuis l’extérieur, le tout en parfaite sécurité.
Comment générer un certificat HTTPS gratuit pour Jeedom ou Home Assistant sur un NAS Synology et faire du reverse proxy
La sécurisation de Jeedom, c’est primordial. Au domo-lab, nous mettons un point d’honneur à vous accompagner dans la configuration de votre domotique DIY Jeedom et la sécurisation est un sujet déjà longuement traité dans nos colonnes. En effet, nous proposons…
Je vous invite dans un premier temps à suivre notre guide sur la mise en oeuvre du certificat et du reverse proxy ci-dessus. Une fois fait, revenez sur ce guide pour poursuivre plus spécifiquement la configuration au niveau de la domotique Home Assistant.
L’erreur 400 : Bad request Home Assistant
En effet, monter un reverse proxy et certificat SSL sur le NAS Synology n’est pas suffisant pour permettre l’accès à la domotique Home Assistant, vous aurez droit à un joli message “400 : Bad request” si vous tentez un accès sur l’URL externe de votre système domotique :
Depuis les récentes mises à jour, le système domotique a redoublé de sécurité, par conséquent, il est nécessaire d’effectuer du paramétrage supplémentaire pour permettre l’accès à la box domotique depuis l’extérieur.
Si vous vous rendez dans le menu paramètres / Système, vous constaterez que l’accès externe est désactivé.
Pourtant si vous rentrez dans la configuration réseau de Home Assistant, vous ne verrez pas de paramètres disponibles à ce sujet. Nous allons voir comment procéder pour que cela fonctionne.
Configurer l’accès externe sur Home Assistant
Temps nécessaire : 5 minutes
Afin de correctement configurer l’accès distant à la domotique, nous allons effectuer quelques vérifications, puis quelques paramètres côté configuration de Home Assistant.
- Ouvrir les paramètres de reverse proxy sous le NAS Synology
Pour commencer, nous allons nous assurer que le paramétrage est correcte du coté du reverse proxy Synology. Pour cela, rendez-vous dans le Panneau de configuration/Portail de connexion/Avancé/Proxy inversé, puis cliquez sur la ligne correspondant à votre domotique Home Assistant.
- Vérifier que les en-têtes personnalisées sont bien présentes
Rendez-vous ensuite dans l’onglet En-tête personnalisée et assurez-vous que vous avez les deux en-têtes Upgrade et Connection présentes. Si ce n’est pas le cas faites Créer puis WebSocket pour les générer.
Enregistrez la configuration tout est prêt côté configuration du proxy. - Configurer http côté Home Assistant
Maintenant que nous avons fait les vérifications nécessaires du côté du serveur proxy inversé, nous devons procéder à une configuration sur Home Assistant. Pour cela éditez le fichier configuration.yaml en passant par le menu Paramètres/Modules complémentaires/File editor puis lancez l’interface d’édition via le bouton Ouvrir l’interface utilisateur web.
- Renseigner les informations nécessaires au bon fonctionnement de la redirection
Il faut copier/coller les lignes suivantes dans le fichier configuration.yaml et personnaliser selon votre configuration personnelle.
homeassistant:
external_url: “https://ha.mondomaine.ovh” # ne pas indiquer le port
internal_url: “http://192.168.1.57:8123” # adresse locale de HA avec le port
http:
use_x_forwarded_for: true
trusted_proxies: # adresse(s) IP locale(s) du NAS Synology
– 192.168.1.250
– 192.168.1.81
– 192.168.1.210
ip_ban_enabled: false
Le résultat sous le fichier configuration.yaml doit se présenter sous cette forme : - Vérifier la configuration et redémarrer
La configuration nécessaire côté Home Assistant est maintenant terminée, il reste toutefois encore à la vérifier pour s’assurer qu’il n’y a pas d’erreur. Pour cela, rendez-vous dans le menu Outils de développement/YAML puis faites Vérifier la configuration. Si le message retourné est “Configuration valide !” comme ci-dessous, tout est correcte.
Vous pouvez alors redémarrer pour appliquer cette nouvelle configuration via le bouton Redémarrer.
Confirmer le bon fonctionnement de l’accès distant à la domotique Home Assistant
Maintenant que la configuration est terminée aussi bien coté Synology que de la domotique Home Assistant, vous pouvez vérifier dans le menu Paramètres / Système que l’Accès externe est bien actif.
Enfin, si vous accédez à votre système domotique depuis son nom de domaine extérieur, l’erreur 400 disparaît au profit de la mire de login. Mission réussie, votre accès distant est maintenant pleinement fonctionnel et sécurisé !
Ne sachant pas comment procéder, je viens de suivre votre procédure à la lettre et j’ai été confronté à un problème : il ne faut pas mettre de guillemets autour des adresses pour les paramètres external_url et internal_url dans la version actuelle de HA.
Tout le reste était parfait et je vous en remercie.
Nickel, merci pour le tuto et le commentaire de HACHE 😉
Je ne suis pas certain de comprendre… il ne manque pas l’etage concernant le port forwarding sur son routeur ?
je ne comprends pas par rapport au :
– 192.168.1.250
– 192.168.1.81
– 192.168.1.210
je suis en 192.168.22.XX
mais si je remplace, j’ai une erreur lors de la validation
Bonjour,
il s’agit des interfaces IP du NAS sur mon reseau. Cela permet à HA de les qualifier d’adresses de confiance pour autoriser la connexion.
Il faut donc indiquer l’adresse IP du NAS à cet emplacement.
Bonjour,
J’ai installer Home Assistant sur mon Synology DS218Play depuis SynoCommunity, mais je n’arrive à accéder à “Paramètre/Module Complémentaire” pour télécharger FileEditor.
Pouvez-vous me venir en aide ?
Merci par avance
Bonjour,
tout semble indiquer que ce n’est pas une version “suipervised” de home assistant qui est installée mais une version core. Du coup, pas d’add-on disponibles dans cette version. Il faut préférer une version HAOS, plus optimisée et complète.
Bonjour j’aimerais savoir ou vous trouver un version “HAOS”, car sur docker je n’en trouve pas . merci
Bonjour,
il n’y a pas de version HAOS sous docker. Il faut se tourner vers de la virtualisation pour beneficier de HAOS.
Merci beaucoup de votre réponse , autrement dit si l’on veut configurer l’accès distant, cela n’est pas possible via le home assistant de docker
Super ! Ca fonctionne parfaitement ! Du coup, pas besoin de mettre en place une solution avec Duck DNS.
Merci pour le tuto et le commentaire de HACHE 😉
Bonjour,
De mon coté j’ai fait l’installation comme présenté dans ce tuto et avec le retrait des guillemets pour les adresses.
A la validation du fichier yaml il y avait une erreur.
J’ai du ajouter en proxy l’adresse local 127.0.0.1 et ::1
J’avoue ne pas savoir exactement pourquoi…
Bonjour,
J’ai bien suivi la procédure (Reverse Proxy sur NAS synology + certificat Let’s encrypt) .
L’accès externe est Ok depuis un navigateur Web, mais depuis l’application “Home Assistant” sur Android, j’ai un message comme quoi le certificat de HA ne correspond pas au nom de domaine.
Avez vous des idées ?
J’ai exactement le même problème. Pas encore trouvé de réponse
En fait je viens de trouver !
Retourne dans synology/ Sécrutité / certificat puis sélectionne ton certificat et clique sur paramètre là il faut que tu rattaches ton certificat au bon domaine (par défaut il te mets le certificat synology).
Bonjour,
Super tuto. J’étais coincé sur l’erreur 400 sans comprendre pourquoi HA refusait. Merci.
J’utilise le DDNS de synology.
En revanche l’app companion android n’a pas l’accès externe, même en paramétrant la bonne adresse externe en https. En interne l’accès est ok.
Une idée ?
Bonjour,
je te remercie pour le tutoriel. C’est exactement ce que je souhaitais faire et tout a bien fonctionné, que ce soit vien un HS installé en docker ou via une VM.
Bien moins fastidieu que de passer par le systeme de reverse proxy avec le duck DNS proposé dans plein d’autres tutoriels…
Merci pour le tuto.
Mais j’ai eu du mal.
De mon côté, j’ai laissé les ” au niveau des adresses external et internal
Ne pas oublier les espaces qui se copie/colle pas !!
Retaper le – (tiret du 6) car avec le copier/coller le tiret n’etait pas reconnu.
Et enfin !