Qu'est-ce que Nginx Proxy Manager (NPM) ?
Nginx Proxy Manager (NPM) est une interface web open-source avec des fonctions de reverse proxy. NPM permet aux utilisateurs de créer et de gérer des hôtes virtuels, des redirections, des certificats SSL et des règles de sécurité pour leurs serveurs proxys. NPM facilite grandement la configuration de Nginx pour les utilisateurs qui ne sont pas familiers avec la ligne de commande et simplifie également la redirection de plusieurs sites web.
Qu’est-ce qu’un Reverse Proxy ?
Un reverse proxy est un serveur web qui agit comme un intermédiaire entre les clients (par exemple, un navigateur web) et les serveurs backend (par exemple, un serveur web). En d'autres termes, le reverse proxy reçoit les requêtes des clients et les redirige vers les serveurs appropriés pour traiter la demande.
Pour en savoir plus à ce sujet, vous pouvez consulter l'article de it-connect.fr.
Installation de Nginx Proxy Manager avec Docker
NPM fonctionne en tant que conteneur docker. Il vous faut donc d’abord avoir un serveur docker (Voir notre tutoriel “Tutoriel d'installation de docker”) puis il vous faudra installer docker et docker-compose sur votre nouveau serveur.
sudo apt updatesudo apt install docker.io docker-compose -y
Une fois docker correctement installé, nous allons créer le fichier docker-compose
nano docker-compose.yml
Puis ajoutez les lignes suivantes au fichier
N’oubliez pas de changer le l’user et le password root/user dans le fichier !
Exécutez enfin la commande suivante pour lancer le conteneur
docker-compose up -dCela prendra un peu de temps, mais une fois terminé, l’installation de Nginx Proxy Manager sera finie.
Interface Web de Nginx Proxy Manager
Vous pouvez accéder à l'interface web en tapant l’adresse IP du serveur où vous avez installé NPM et le port admin spécifié dans le fichier docker-compose.yml (port 81 par défaut).
Les identifiants par défaut sont :
Email address : admin@example.com
Password : changeme
NPM vous les fera changer dès la première connexion.
Utilisation et configuration de NPM
Maintenant que vous avez installé Nginx Proxy Manager, vous pouvez commencer à l'utiliser pour configurer des reverse proxys. Voici les étapes pour ajouter un nouveau proxy host :
- Allez dans Proxy Hosts > Add Proxy Host
-
Dans la section Details :
- Domain Names : Le nom de sous domaine souhaité
- Scheme : Http ou https (mettez en fonction de la page web redirigée)
- Forward Hostname/IP : L’adresse IP où sera redirigée la requête
- Forward Port : Le port d’écoute souhaité
-
Dans la section SSL :
- Force SSL : Forcera le client à être en HTTPS
- Email address : L’adresse qui sera renseignée dans le certificat
Une fois toutes les informations renseignées, appuyer sur “Save” et le proxy host devrait apparaître comme “Online” dans votre liste
Il ne vous reste plus qu'à tester si l’on a bien accès avec le nom de domaine
Avoir accès depuis l’extérieur du réseau
Grâce à ce que l’on a vu avant, le reverse proxy de NPM fonctionne, mais seulement en local, on va donc voir comment le faire fonctionner depuis l’extérieur du réseau.
Tout d'abord, nous allons devoir ouvrir les ports 80 et 443 sur votre routeur pour Nginx.
Puis, chez votre fournisseur de nom de domaine, vous devez créer le sous-domaine et un enregistrement DNS pour le sous-domaine que vous souhaitez utiliser et le faire pointer vers l'adresse IP publique de votre box.
Exemple sous Hostinger :
Vous devriez désormais avoir accès à vos services depuis l'extérieur.
Un besoin ? Un projet ? Nous répondons à vos questions au 02.51.99.13.03 ou par mail à contact@sparwan.com.