Reverse Proxy pour HomeAssistant sur Synology

Après avoir mis en place HomeAssistant dans Docker, vous pouvez maintenant y accéder.

Cependant, ce n’est pas très facile d’accéder à sa domotique avec une adresse du type http://192.168.1.5:8123, et ce n’est pas non plus pratique à retenir.
Rassurez-vous, il existe un moyen assez simple pour remédier à cela : le reverse proxy !

Et ça tombe bien, vous avez déjà le nécessaire : un NAS Synology !

Ce petit guide est le fruit de mon utilisation personnelle. Il est également basé sur le dernier DSM disponible à la date de la rédaction de ce guide (6.2).

Prérequis

Avant de pouvoir configurer notre reverse proxy, vous devez disposer :

  • d’une adresse IP fixe sur votre synology
  • d’une adresse IP fixe sur HomeAssistant
  • d’un nom de domaine (de quelque type que ce soit)
  • d’un certificat SSL valide

Configuration du reverse proxy

La configuration est relativement simple, comme vous allez pouvoir le voir au travers de ce petit guide.

Tout d’abord, connectez-vous sur votre Synology, puis rendez-vous dans le Panneau de configuration

Icône Panneau de configuration Synology

Si ce n’est pas déjà fait, activez le Mode avancé du Panneau de configuration, afin d’afficher l’intégralité des paramètres du NAS

Advanced mode

Cliquez ensuite sur Portail des applications dans la rubrique Applications

Portail d'applications

Cliquez à présent sur l’onglet Proxy inversé. C’est ici que vous trouverez la liste des configurations reverse que vous avez ou configurerez

Reverse Proxy onglet

Maintenant, cliquez sur Créer, afin d’ouvrir la fenêtre permettant de configurer le Reverse Proxy

Reverse Proxy créer

Cette fenêtre est l’endroit où vous allez pouvoir définir tous les paramètres liés à votre besoin.
Au tout début, je vous ai parlé dans les prérequis, d’un nom de domaine, et d’une IP fixe pour votre HomeAssistant. C’est ici qu’ils vont servir.

La première ligne, c’est la description. Vous pouvez mettre ce qu’il vous plaira. Ça n’a que peu d’importance.
Exemple : HomeAssistant

Partie Source

La deuxième chose à configurer, c’est le protocole attendu. Ici, nous voulons gérer les connexion sécurisée, en HTTPS. Logiquement, c’est cette valeur qu’il faudra sélectionner.

La troisième ligne, c’est le nom de domaine que vous avez qu’il vous faut renseigner. Attention à ne pas vous tromper ! Il n’est pas sensible à la casse, mais une erreur de saisie empêchera le bon fonctionnement.
Exemple : mondomaine.com

Le quatrième champ à configurer, c’est le port sur lequel on attend ces connexions. Ce peut être à peu près n’importe quel port. Ce qui nous intéresse ici, c’est le port par défaut pour le HTTPS, le port 443.

Vous avez ensuite la possibilité de cocher deux cases, HSTS et HTTP/2. On va les cocher. Je vous invite à cliquer sur les liens si vous voulez en savoir plus.

Partie Destination

Après avoir configuré la partie réception de la connexion, il faut maintenant l’envoyer quelque part. C’est là que l’adresse IP fixe de votre installation HomeAssistant intervient.

Cette partie est un peu similaire à celle de la source, et se compose de trois champs.

Le premier champ, est le type de connexion. Cette fois encore, cela peut être HTTP ou HTTPS.
Cette fois, nous allons utiliser le protocole HTTP, car nous n’avons pas besoin de chiffrer la connexion entre le NAS et HomeAssistant.

Le deuxième champ, c’est celui de l’adresse IP (fixe) de HomeAssistant.
Exemple : 192.168.1.5

Le troisième et dernier champ, c’est le port de HomeAssistant. Par défaut, c’est le port 8123. Si vous ne l’avez pas modifié, utilisez celui-ci. Dans le cas contraire, renseignez le port que vous avez configuré.

Pour vous donner un aperçu, voici ce que donne la configuration sur mon NAS Synology

Exemple de configuration

Et voilà ! C’est fini !
Uniquement pour la partie des paramétrages généraux.

Paramétrages avancés

Pour fonctionner correctement avec le reverse proxy, il est nécessaire de configurer des Headers spécifiques dans le reverse proxy.

Pour cela, cliquez sur l’onglet En-tête personnalisé

Il vous faut ensuite ajouter des éléments en particulier. Pour vous faciliter les choses, je vous fait une liste que vous pouvez copier/coller :

Nom de l’en-tête

Upgrade

Connection

X-Forwarded-For

X-Forwarded-Host

X-Real-IP

Host

Valeur

$http_upgrade

$connection_upgrade

$proxy_add_x_forwarded_for

$server_name

$remote_addr

$host

Cette configuration permettra, notamment aux WebSockets de HomeAssistant de fonctionner correctement.

Voilà à quoi cela doit correspondre une fois terminé

Et voilà !
Cette fois, c’est bel et bien terminé !

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *