Comment utiliser Nginx Proxy Manager

Comment utiliser Nginx Proxy Manager
Nginx est un serveur Web populaire et un proxy inversé utilisé pour acheminer le trafic et le rediriger vers un autre serveur. La configuration de Nginx en tant que proxy inverse peut prendre du temps et sujet aux erreurs et aux erreurs de configuration. Ce guide vous montrera comment configurer et utiliser le gestionnaire de proxy Nginx pour une gestion et une configuration plus faciles. Avant de plonger dans le tutoriel, il y a quelques conditions préalables. Tu auras besoin de:
  1. Un serveur Linux
  2. Docker et Docker composent installés sur le serveur
  3. Racine ou utilisateur avec autorisation sudo

Si vous avez tout cela, laissez-nous plonger.

Quel est le gestionnaire de proxy Nginx?

Le Nginx Proxy Manager (NPM) est un système de gestion de proxy inversé fonctionnant sur Docker. NPM est basé sur un serveur NGINX et fournit aux utilisateurs une interface Web propre, efficace et magnifique pour une gestion plus facile. L'outil est facile à configurer et ne nécessite pas que les utilisateurs sachent comment travailler avec des serveurs Nginx ou des certificats SSL. Le NPM est un outil open-source maintenu par des développeurs du monde entier. Il est bien adapté aux environnements de petits serveurs et aux environnements de laboratoire privés. Ce tutoriel se concentrera sur vous montrer comment déployer le gestionnaire de proxy Nginx:

Installation de Docker et Sqlite

Nginx Proxy Manager s'exécute en tant que conteneur Docker; Ainsi, il nécessite Docker et Docker-Compose installé sur le serveur. Par souci de simplicité, je vais illustrer comment installer Docker sur Ubuntu. Veuillez vous référer à la documentation Docker pour référence sur la façon de le configurer sur d'autres systèmes. Pour installer Docker sur Ubuntu, commencez par supprimer les anciennes installations de Docker. Sautez ceci si aucun n'est disponible.

sudo apt-get supprimer docker docker-mo dans docker.IO Containerd Runc

Ensuite, installez le référentiel et toutes les dépendances à l'aide des commandes:

Mise à jour Sudo apt-get
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-libérer -y

Ajoutez la touche GPG du référentiel Docker:

curl -fssl https: // télécharger.docker.com / linux / ubuntu / gpg | sudo gpg --dearmor -o / usr / share / keyrings / docker-archive-keyring.GPG

Ensuite, ajoutez le référentiel stable à l'aide de la commande echo comme:

Echo "Deb [Arch = AMD64 Signed-by = / usr / share / keyrings / docker-archive-keyring.gpg] https: // télécharger.docker.com / linux / ubuntu \
$ (lsb_release -cs) stable "| sudo tee / etc / apt / sources.liste.d / docker.liste> / dev / null

Enfin, mettez à jour les référentiels et installez Docker à l'aide des commandes:

Sudo Apt-Get Update && sudo apt-get install docker-ge docker-c-cli contenerd.io docker-compose -y

Maintenant, exécutez Docker et activez au démarrage:

sudo systemctl activer docker.service
sudo systemctl start docker.service
sudo systemctl activer Containerd.service

Installer Sqlite

L'étape suivante consiste à installer la base de données SQLite que nous utiliserons pour exécuter NPM. Il est bon de noter que vous pouvez également utiliser la base de données MySQL.

Déployer NPM sur Docker

Pour déployer le Ninx Proxy Manager, nous devons créer un fichier Docker-Compose pour exécuter Docker et initialiser le conteneur. Pour en savoir plus sur le fichier Docker Compose et son fonctionnement, considérez les ressources liées ici. Je vous recommande fortement de créer le fichier Docker-Compose dans un répertoire que vous avez des autorisations complètes.

nano docker-compose.yaml

Ensuite, ajoutez les lignes suivantes au fichier de composition, enregistrez et fermez.

Version: "3"
prestations de service:
App:
Image: 'JC21 / Nginx-Proxy-Manager: Dernier'
redémarrer: toujours
PORTS:
# Port http
- '80: 80 '
# Port https:
- '443: 443'
# Ui admin
- '81: 81 '
environnement:
Db_sqlite_file: "/ data / npm.sqlite "
Volumes:
- ./ data: / data
- ./ LETSENCYPT: / etc / letSencrypt

Enfin, exécutez la commande docker-compose comme:

docker-compose up -d

Cela déploiera la pile à partir de l'image NPM spécifiée dans le fichier docker-compose. Sortie de création:

Création du réseau "Debian_default" avec le pilote par défaut
Application de tirage (JC21 / Nginx-Proxy-Manager: dernier)…
Dernière: Tirer de JC21 / Nginx-Proxy-Manager
801BFAA63EF2: Pull complet
7927CD3BBE4C: Pull complet
F53B85628DA5: Pull complet
E834C30791F9: Pull complet
6B68B3708DD5: Pull complet
963FE519B5FD: Pull complet
37E54D057F10: Pull complet
-------------------------------------
Digest: Sha256: B33AAB798A6150BA7DD238D36936D0882A312C983A0B3EB261A6DCBD5E6A3425
Statut: Image plus récente téléchargée pour JC21 / Nginx-Proxy-Manager: Dernière
Création de debian_app_1… fait

Accéder à l'interface utilisateur NPM

Une fois créé et exécuté, vous pouvez vous connecter à l'interface à l'aide de l'adresse IP et du port spécifiés dans le fichier docker-compose. Dans ce cas, le port 81.

http: // ip: 81

Il serait préférable que vous ayez atterri sur l'interface utilisateur de connexion au NPM. Entrez le nom d'utilisateur et le mot de passe comme:

Admin @ Exemple.com et changeme, respectivement.

Lors de la connexion initiale, vous devrez mettre à jour les détails de l'administrateur.

Une fois que vous aurez mis à jour tous les détails de l'utilisateur, vous serez au tableau de bord principal à partir de l'endroit où vous pouvez configurer vos hôtes proxy:

Travailler avec NPM

Ayant installé et assuré que le gestionnaire de proxy est en cours d'exécution, nous pouvons ajouter un hôte proxy pour exposer un service en cours d'exécution sur le serveur. Naviguez vers les hôtes - Hôtes proxy et cliquez sur Ajouter un hôte proxy.

Sélectionnez le schéma tel que HTTP ou HTTPS. Si le service que vous souhaitez exposer ne prend pas en charge le trafic HTTPS, restez avec HTTP. Ensuite, ajoutez les noms de domaine, le nom d'hôte vers le transfert et l'IP. Vous pouvez également sélectionner bloquer les exploits communs pour une sécurité supplémentaire.

Une fois que vous avez exposé le service, essayez d'y accéder en utilisant le nom d'hôte ou la propriété intellectuelle spécifiée. Ce service doit être accessible. Vous pouvez également gérer le proxy dans la liste des hôtes proxy.

Liste d'accès au NPM

Dans certains cas, nous devrons peut-être exposer une application ou un service sur la liste proxy du NPM à des adresses IP spécifiques. Pour configurer cela, vous pouvez utiliser la liste d'accès NPM.

Accédez à la liste d'accès et cliquez sur Ajouter une liste de proxy. Ici, donnez-leur une liste d'accès un nom; vous pouvez également sélectionner satisfaire n'importe quel.

Sur l'onglet Autorisation, définissez les noms d'utilisateur et les mots de passe que vous utiliserez pour vous connecter au service.

Accédez à l'onglet Access et ajoutez les adresses IP que vous souhaitez autoriser les connexions et nier tous les autres.

Pour joindre la liste d'accès à une application Web spécifique, accédez à l'hôte des hôtes - l'hôte proxy et sélectionnez votre hôte. Cliquez sur Modifier et définissez la liste d'accès telle que définie ci-dessus.

Provisioning SSL Certs

Le NPM vous permet également de provisionner des certificats SSL sur divers noms de domaine. Avant d'ajouter un nom de domaine à la disposition SSL, assurez-vous que le domaine pointe vers le serveur proxy NPM.

Accédez aux certificats SSL et cliquez sur Ajouter un certificat SSL. Fournissez les noms de domaine et l'adresse e-mail de Let's Encrypt. Enfin, acceptez les conditions d'utilisation et enregistrez. Vous pouvez également ajouter un défi DNS, mais je ne couvrirai pas cela dans ce tutoriel.

Cela créera un nouveau certificat SSL de confiance.

Personnaliser la page d'accueil

Vous pouvez également personnaliser la page Web par défaut pour le serveur NPM. Cliquez sur Paramètres - Site par défaut et sélectionnez Modifier. Vous pouvez choisir d'afficher une erreur 404, de rediriger vers une nouvelle adresse ou de créer une page personnalisée.

Par exemple, ci-dessous est un code HTML à afficher 403 interdit.







403 - interdit


Source: codepen https: // codepen.IO / Blecaf / Pen / Nloepy

Conclusion

Ce tutoriel a envisagé d'installer et de déployer le gestionnaire de proxy Nginx sur un serveur Ubuntu exécutant Docker. Nous avons ensuite couvert comment configurer le NPM et ajouter des hôtes au gestionnaire de proxy.

N'oubliez pas: l'expérimentation cohérente est la clé de la maîtrise, alors expérimentez-vous!