Nginx

Comment utiliser le gestionnaire de proxy Nginx

Comment utiliser le gestionnaire de proxy Nginx
Nginx est un serveur Web populaire et un proxy inverse 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 être sujette aux erreurs et aux mauvaises configurations. 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 prérequis. Tu auras besoin de:

  1. Un serveur Linux
  2. Docker et Docker compose installés sur le serveur
  3. Racine ou utilisateur avec des autorisations sudo

Si vous avez tout cela, laissez-nous plonger.

Qu'est-ce que le gestionnaire de proxy Nginx?

Le gestionnaire de proxy Nginx (NPM) est un système de gestion de proxy inverse fonctionnant sur Docker. NPM est basé sur un serveur Nginx et fournit aux utilisateurs une interface Web propre, efficace et esthétique pour une gestion plus facile. L'outil est facile à configurer et ne nécessite pas que les utilisateurs sachent travailler avec des serveurs Nginx ou des certificats SSL. 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é. Ce tutoriel se concentrera sur vous montrer comment déployer le gestionnaire de proxy Nginx :

Installer Docker et SQLite

Le gestionnaire de proxy Nginx s'exécute comme un conteneur Docker ; ainsi, il nécessite Docker et docker-compose installés sur le serveur. Par souci de simplicité, je vais seulement illustrer comment installer Docker sur Ubuntu. Veuillez vous référer à la documentation Docker pour savoir comment le configurer sur d'autres systèmes. Pour installer Docker sur Ubuntu, commencez par supprimer les anciennes installations Docker. Ignorez ceci si aucun n'est disponible.

sudo apt-get supprimer docker docker-engine docker.io conteneurd runc

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

sudo apt-get mise à jour
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y

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

curl -fsSL https://download.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=amd64sign-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-ce docker-ce-cli containerd.io docker-composer -y

Maintenant, lancez docker et activez au démarrage :

sudo systemctl activer docker.un service
docker de démarrage sudo systemctl.un service
sudo systemctl activer conteneurd.un 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 Nginx 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 de composition Docker et son fonctionnement, consultez les ressources liées ici. Je vous recommande fortement de créer le fichier docker-compose dans un répertoire pour lequel vous disposez des autorisations complètes.

nano docker-composer.yaml

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

version : "3"
prestations de service:
application :
image : 'jc21/nginx-proxy-manager:latest'
redémarrer : toujours
ports :
#port HTTP
- '80:80'
# Port HTTPS :
- '443:443'
# Interface utilisateur d'administration
- '81:81'
environnement:
DB_SQLITE_FILE : "/data/npm.sqlite"
tomes :
- ./données:/données
- ./letsencrypt:/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
Extraction de l'application (jc21/nginx-proxy-manager:latest)…
dernier : Extraction de jc21/nginx-proxy-manager
801bfaa63ef2 : Tirez terminé
7927cd3bbe4c : Tirez terminé
f53b85628da5 : extraction terminée
e834c30791f9 : Tirez terminé
6b68b3708dd5 : extraction terminée
963fe519b5fd : Tirez terminé
37e54d057f10 : Pull terminé
-------------------------------------
Résumé : sha256:b33aab798a6150ba7dd238d36936d0882a312c983a0b3eb261a6dcbd5e6a3425
Statut : image plus récente téléchargée pour jc21/nginx-proxy-manager : dernière
Création de debian_app_1… terminée

Accéder à l'interface utilisateur NPM

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

http://IP:81

Ce serait mieux si vous atterrissiez sur l'interface utilisateur de connexion NPM. Entrez le nom d'utilisateur et le mot de passe comme :

[email protected] et changeme, respectivement.

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

Une fois que vous avez mis à jour tous les détails de l'utilisateur, vous accédez au tableau de bord principal à partir duquel vous pouvez configurer vos hôtes proxy :

Travailler avec NPM

Après avoir installé et vérifié que le gestionnaire de proxy est en cours d'exécution, nous pouvons ajouter un hôte proxy pour exposer un service exécuté sur le serveur. Accédez à 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 de transfert et l'adresse IP. Vous pouvez également sélectionner Bloquer les exploits courants pour plus de sécurité.

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

Liste d'accès NPM

Dans certains cas, nous pouvons avoir besoin d'exposer une application ou un service sur la liste de proxy 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 un nom à une liste d'accès ; vous pouvez également sélectionner Satisfy Any.

Dans 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 Accès et ajoutez les adresses IP à partir desquelles vous souhaitez autoriser les connexions et refuser toutes les autres.

Pour attacher la liste d'accès à une application Web spécifique, accédez à Hôtes - Hôte proxy et sélectionnez votre hôte. Cliquez sur Modifier et définissez la liste d'accès comme défini ci-dessus.

Approvisionnement des certificats SSL

NPM vous permet également de fournir des certificats SSL sur divers noms de domaine. Avant d'ajouter un nom de domaine à la fourniture 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 économisez. 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 pour afficher 403 interdit.







403 - Interdit


SOURCE : CodePen https://codepen.io/blecaf/stylo/NLoEPY

Conclusion

Ce didacticiel a examiné l'installation et le déploiement du gestionnaire de proxy Nginx sur un serveur Ubuntu exécutant Docker. Nous avons ensuite expliqué comment configurer NPM et ajouter des hôtes au gestionnaire de proxy.

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

Meilleures applications de mappage de manette de jeu pour Linux
Si vous aimez jouer à des jeux sur Linux avec une manette de jeu au lieu d'un système de saisie clavier et souris typique, il existe des applications ...
Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...
Jeux HD remasterisés pour Linux qui n'ont jamais eu de version Linux plus tôt
De nombreux développeurs et éditeurs de jeux proposent une remasterisation HD d'anciens jeux pour prolonger la durée de vie de la franchise, veuillez ...