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

Ouvrez votre navigateur et allez à : http://<YOUR_IP_ADDRESS>:81
Identifiants de connexion par défaut :
- Email :
[email protected] - Mot de passe :
changeme
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

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

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
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
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é