Comment configurer l'accès à un environnement conteneurisé en utilisant Nginx Proxy Manager sur Linux | INTROSERV
EUR
european

EUR

usa

USD

French Fr
Ex. VAT Ex. VAT 0%

Comment configurer l'accès à un environnement conteneurisé en utilisant Nginx Proxy Manager sur Linux

Introduction

Dans ce tutoriel, vous configurez un accès sécurisé et convivial aux services conteneurisés en utilisant Nginx Proxy Manager. Cette approche simplifie la gestion du proxy inverse via une interface web au lieu d'une configuration manuelle. Vous installerez Nginx Proxy Manager avec Docker, le configurerez et exposerez un service conteneurisé via un domaine.

Prérequis

Public cible : Administrateurs système débutants
Temps estimé : ~30 minutes
Objectif final : À la fin de ce tutoriel, vous aurez une configuration fonctionnelle de Nginx Proxy Manager qui redirige le trafic externe vers une application conteneurisée.

Exigences système :

  • OS : Distribution Linux compatible avec Docker
  • Docker : 24.0.6 ou version ultérieure
  • Docker Compose : v2
  • Minimum 1 Go de RAM et 10 Go d'espace disque
  • Un nom de domaine pointant vers l'IP de votre serveur
  • Ports ouverts : 80, 81, 443
  • Privilèges sudo

Connaissances requises :

  • Utilisation basique de la ligne de commande Linux
  • Compréhension de base des conteneurs Docker

Étape 1 : Comprendre Nginx Proxy Manager

Nginx Proxy Manager est un outil basé sur le web qui gère les configurations de proxy inverse Nginx. Il vous permet de rediriger le trafic vers différents services en utilisant des noms de domaine, d'activer des certificats SSL et de gérer les règles d'accès sans éditer manuellement les fichiers de configuration.

Caractéristiques clés :

  • Interface web pour la gestion du proxy
  • SSL automatique via Let's Encrypt
  • Contrôle d'accès et authentification
  • Intégration facile avec les environnements Docker

Résultat : Vous comprenez comment Nginx Proxy Manager simplifie l'exposition des services conteneurisés.

Étape 2 : Installer Docker et Docker Compose

Installez Docker en utilisant une commande simple :

curl -sSL https://get.docker.com/ | CHANNEL=stable bash

Vérifiez l'installation de Docker :

docker --version

Vérifiez Docker Compose :

docker compose version

Résultat : Docker et Docker Compose sont installés et prêts à l'emploi.

Étape 3 : Configurer Nginx Proxy Manager

Créez un répertoire de projet :

mkdir ~/npm && cd ~/npm

Créez un fichier de configuration :

nano docker-compose.yml

Insérez le contenu de configuration :

version: "3" services: app: image: jc21/nginx-proxy-manager:latest restart: always ports: - "80:80" - "81:81" - "443:443" volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt

Enregistrez le fichier et quittez.

Démarrez le service :

docker compose up -d

Résultat : Le conteneur Nginx Proxy Manager est en cours d'exécution et écoute sur les ports requis.

Étape 4 : Accéder à l'interface web

Écran de connexion de Nginx Proxy Manager

Ouvrez votre navigateur et allez à : http://<YOUR_IP_ADDRESS>:81

Identifiants de connexion par défaut :

Mettez à jour vos identifiants lorsque cela est demandé.

Résultat : Vous pouvez accéder et gérer Nginx Proxy Manager via l'interface web.

Étape 5 : Déployer un conteneur de test

Exécutez un conteneur web de test :

docker run -d --name test-app -p 8080:80 nginx

Vérifiez l'accès en ouvrant : http://<YOUR_IP_ADDRESS>:8080

Résultat : Un conteneur de test est en cours d'exécution et accessible localement.

Étape 6 : Créer un hôte proxy

Dialogue Ajouter un hôte proxy dans Nginx Proxy Manager

Dans l'interface de Nginx Proxy Manager :

  • Cliquez sur "Proxy Hosts"
  • Cliquez sur "Add Proxy Host"
  • Entrez le domaine : <YOUR_DOMAIN>
  • Nom d'hôte ou IP de redirection : localhost
  • Port de redirection : 8080
  • Activez "Block Common Exploits"
  • Enregistrez la configuration

Résultat : Le trafic de votre domaine est redirigé vers le conteneur.

Étape 7 : Activer SSL

Onglet de configuration SSL dans Nginx Proxy Manager

Modifiez l'hôte proxy :

  • Ouvrez l'onglet SSL
  • Sélectionnez Request a new SSL Certificate
  • Activez Force SSL
  • Activez HTTP/2 Support
  • Entrez votre email et acceptez les termes
  • Enregistrez les modifications

Info

SSL nécessite des enregistrements DNS corrects pointant votre domaine vers votre serveur.

Résultat : HTTPS est activé et sécurisé avec un certificat valide.

Vérification

Ouvrez votre domaine : https://<YOUR_DOMAIN>

Résultats attendus :

  • La page de test Nginx se charge
  • Le navigateur affiche un certificat SSL valide
  • Aucun avertissement de sécurité n'apparaît

Vérifiez les conteneurs en cours d'exécution :

docker ps

Résultat : Le proxy inverse fonctionne correctement et redirige le trafic de manière sécurisée.

Annulation des modifications

Arrêtez les services :

docker compose down

Supprimez le conteneur de test :

docker rm -f test-app

Supprimez les fichiers du projet :

rm -rf ~/npm

Info

Important : Cela supprime toutes les configurations et certificats SSL.

Résultat : Toutes les modifications sont annulées et le système est propre.

Dépannage

Problème : Impossible d'accéder à l'interface web
Solution : Assurez-vous que le port 81 est ouvert et non utilisé par un autre service

Problème : Échec de la génération du certificat SSL
Solution : Vérifiez que la configuration DNS pointe vers votre serveur

Problème : L'hôte proxy ne fonctionne pas
Solution : Vérifiez l'état du conteneur avec docker ps et les journaux avec docker logs <CONTAINER_ID>

Résultat : Les problèmes courants sont identifiés et résolus.

Conclusion et prochaines étapes

Vous avez installé et configuré Nginx Proxy Manager en utilisant Docker et exposé un service conteneurisé avec un domaine et SSL. Cette configuration offre un moyen simple et évolutif de gérer plusieurs services.

Prochaines étapes :

  • Ajoutez des services supplémentaires derrière différents domaines
  • Configurez des listes de contrôle d'accès
  • Explorez les paramètres avancés de proxy et de sécurité

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA