Nginx de Yunohost en reverse proxy
Introduction
Chez moi, j'ai plusieurs machines. J'ai mon serveur Yunohost, mon PC personnel, des Raspberry Pi. J'ai aussi une machine dédiée que je lance de temps en temps sur laquelle j'ai installé un Proxmox pour créer et gérer des machines virtuelles, pour différents tests et expérimentations. J'aimerais pouvoir accéder à cette machine via un sous-domaine (du domaine global qui pointe sur mon IP publique qui mène chez moi). La Freebox redirige les ports 80 & 443 vers la machine portant Yunohost, je n'ai pas envie de saisir le port de Proxmox dans l'URL, d'ouvrir et rediriger le port (:8006 par défaut) au niveau de la Freebox...
Nginx de Yunohost en reverse proxy
Nginx est souvent utilisé comme serveur reverse proxy en frontal de serveurs applications web (comme NodeJS par exemple) en gérant les entrées sur les port 80 et 443 pour les rediriger vers les bons services. Yunohost dispose d'un service Nginx pour cette fonctionnalité (ainsi que celle de serveur web pour les applications PHP...) et permet, au travers d'une application, de faire une redirection.
L'application Redirect de Yunohost
Redirect permet de créer une redirection ou un proxy vers un autre emplacement.
Source de l'application :
Une fois l'application installée (comme n'importe quelle application packagée pour Yunohost), on la configure.
Redirection visible La barre d'adresse du visiteur changera. Utile pour ajouter un lien utilisateur vers un autre site Web
mon-domaine.com -> autre-domaine.net
mon-domaine.com/foo -> autre-domaine.net/bar
www.mon-domaine.com -> mon-domaine.com
Redirection invisible (proxy)La barre d'adresse du visiteur restera la même. Principalement utilisé pour servir un serveur Web local pour une application personnelle.
proxmox.mon-domaine.com/ -> https://192.168.0.100:8006/
Dans mon cas j'ai choisi la redirection invisible et j'ai bien accès à Promox. Tout marche.
Au niveau Yunohost
L'application Redirect est comme n'importe quelle application Yunohost. Elle modifie / ajoute une configuration dédiée dans les fichiers de configuration de Nginx (/etc/nginx/conf.d/proxmox.mon-domaine.com/redirect.conf).
Il pourra être intéressant de se pencher sur la configuration pour l'étudier (et apprendre des choses par la même occasion).