17/05/2024

NAS

Synology : publier une application Web avec le Reverse Proxy

I. Présentation

Dans ce tutoriel, nous allons voir comment mettre en place un certificat SSL Let's Encrypt sur un sous-domaine de son NAS Synology pour une application spécifique. Nous pouvons imaginer plein de cas d'usage différents puisque sur un NAS, nous pouvons héberger de nombreuses applications différentes : WordPress, FreshRSS, etc.

Ainsi, on peut imaginer que l'application "App1" soit accessible sur cette adresse :

http://<IP du NAS>:8080

Donc sur le port "8080" et en HTTP, et que l'on souhaite qu'elle soit accessible sous cette forme :

https://app1.nas-florian.synology.me
ou
https://app1.nas-florian.synology.me:8080

Ainsi, l'application devient accessible en "HTTPS" avec un certificat valide, le tout en utilisant un sous-domaine de votre domaine "synology.me". Pour cela, on s'appuie à la fois de Let's Encrypt pour obtenir un certificat valide (gratuit) et de la fonction "Reverse Proxy" pour publier l'application en HTTPS sur le port de notre choix (sans reconfigurer l'application en elle-même).

Dans cet exemple, je vais prendre l'application FreshRSS : nous avons vu comment l'installer au sein d'un autre article. Toutefois, elle est accessible en HTTP. En suivant ce tutoriel, vous pouvez rendre accessible l'application en HTTPS. Je souhaite que "http://192.168.1.10:8080" soit accessible via "https://freshrss.nas-flo.synology.me:6500".

II. Demander un certificat Let's Encrypt pour un sous-domaine

La première étape consiste à se procurer un certificat Let's Encrypt. Pour cela, connectez-vous à DSM, et suivez ce chemin : Panneau de configuration > Sécurité (1) > Certificat (2) > Ajouter (3). Un assistant va se lancer.

Synology - Ajouter un certificat SSL

Choisissez "Ajouter un nouveau certificat" et poursuivez.

Synology - Ajouter un nouveau certificat

Nommez ce certificat, par exemple "freshrss", dans le but d'avoir un nom parlant. Ensuite, choisissez "Procurez-vous un certificat auprès de Let's Encrypt" et continuez. Pour rappel, les certificats Let's Encrypt sont gratuits et valides 90 jours, mais le NAS pourra effectuer un renouvellement automatique.

Synology - Ajouter un certificat Lets Encrypt

Pour le nom de domaine, indiquez le sous-domaine pour lequel vous souhaitez obtenir un certificat, ainsi qu'un courrier électronique. Dans mon cas, j'indique ceci : freshrss.nas-florian.synology.me. Cliquez sur "Effectué".

Note : pour avoir un certificat utilisable sur plusieurs sous-domaines, vous pouvez indiquer le nom de domaine "nas-florian.synology.me" et indiquer "*.nas-florian.synology.me" dans la section "Autre nom de l'objet".

Synology - Certificat pour sous-domaine

Notre nouveau certificat SSL est visible dans la liste des certificats : excellente nouvelle !

Synology - Aperçu des certificats

III. Configurer le reverse proxy Synology

Passons à la configuration du reverse proxy en lui-même. D'ailleurs, si la notion de reverse proxy est flou pour vous, je vous recommande de lire mon article à ce sujet : Qu'est-ce qu'un reverse proxy ?

Sur l'interface de DSM, suivez ce chemin : Panneau de configuration > Portail de connexion (1) > Avancé (2) > Proxy inversé (3).

Synology - Configurer reverse proxy

Une fenêtre s'ouvre... Cliquez sur "Créer" pour créer une nouvelle configuration. Renseignez les options suivantes :

  • Nom du proxy inversé : tout simplement le nom de la configuration
  • Source
    • Protocole : HTTPS, car nous souhaitons utiliser le protocole HTTPS + le certificat SSL pour se connecter de manière sécurisée à l'application
    • Port : utilisez un port personnalisé comme le 6500 ou le port par défaut du protocole HTTPS, à savoir 433 (surtout utile pour un site Web, sinon il vaut mieux masquer le service)
    • Activer HSTS : une fonction de sécurité pour forcer l'utilisation d'une connexion sécurisée. C'est recommandé, mais pas obligatoire (à voir comment réagit votre application).
  • Destination
    • Protocole : HTTP car l'accès local (direct) à notre application s'effectue en HTTP
    • Nom d'hôte : l'application est hébergée sur le NAS en lui-même, donc on met "localhost"
    • Port : le port d'écoute de l'application, ici le port 8080

Cliquez sur "Sauvegarder". Ce qui donne :

Synology - Exemple - Reverse Proxy

Voilà, le reverse proxy est configuré ! Il reste une dernière étape : associer le certificat à la configuration du reverse proxy.

Toujours dans le Panneau de configuration, retournez dans "Sécurité" puis "Certificat". Ici, cliquez sur "Paramètres". Une fenêtre s'ouvre avec une liste de services... Vous devez repérer un service correspondant à votre entrée dans le reverse proxy Synology : associez-lui le certificat Let's Encrypt créé précédemment. Validez.

Synology - Associer le certificat au reverse proxy

La configuration est terminée ! Place au test !

IV. Tester la connexion

Pour tester la connexion au travers du reverse proxy, nous n'allons spécifier l'adresse IP, le protocole HTTP et le port 8080. Non, non, on va utiliser les informations déclarées dans la configuration du reverse proxy. Ce qui donne l'adresse suivante :

https://freshrss.nas-florian.synology.me:6500

J'accède bien à mon application FreshRSS, et en plus, la connexion est sécurisée ! Bravo !

Synology - Certificat Lets Encrypt sur sous-domaine

V. Conclusion

Nous venons de voir comment configurer le reverse proxy d'un NAS Synology pour publier une application de façon sécurisée grâce au protocole HTTPS et à l'ajout d'un certificat SSL Let's Encrypt. Le tout en quelques minutes, en utilisant des fonctions gratuites.

Au travers de mes différents tutoriels, je vous encourage à utiliser Let's Encrypt pour la partie certificat car c'est gratuit, d'autant plus quand c'est couplé à "synology.me". Toutefois, vous pouvez aussi utiliser un nom de domaine vérifié (par exemple "mon-domaine.fr") avec un certificat acheté en ligne auprès d'une autorité de certification (GeoTrust, etc.) ou un certificat Let's Encrypt : adaptez à vos besoins.

Quoi qu'il en soit, c'est quand même plus propre et agréable d'avoir un sous-domaine sécurisé pour accéder à une application, plutôt qu'un accès HTTP en utilisant l'adresse IP du NAS... Je vous encourage à sécuriser l'accès à vos applications même si c'est pour un usage personnel... A vous de jouer !

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

1 commentaire sur “Synology : publier une application Web avec le Reverse Proxy

  • Bonjour Florian,
    Avant toutes choses, un grand merci pour la qualité et la clarté de vos tutoriels.
    Vous serait-il possible de faire le même tutoriel sans le mode bridge mais en utilisant un réseau Macvlan pour mes containers avec une range d’ip dédiés à mes containers et le tout en accès https ? Dans ce mode là est-il obligatoire de créer une interface virtuelle pour mon Nas Synology ?
    Merci pour votre retour
    Gérard

    Répondre

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.