Connexion
Connexion

Comment exposer des services avec Nginx Proxy Manager

Comment exposer des services avec Nginx Proxy Manager
Adnene Mabrouk
Rédacteur technique
Serveur web Nginx
26.01.2026
Reading time: 6 min

Qu’est-ce que Nginx Proxy Manager?

Nginx Proxy Manager est une interface facile à utiliser pour gérer des reverse proxies. Il simplifie le routage du trafic vers différents services, le rendant accessible même aux utilisateurs sans connaissances approfondies en réseau. En fournissant une interface graphique (GUI) au-dessus de Nginx, cet outil permet de configurer et de gérer rapidement des proxy hosts, des certificats SSL et diverses configurations avancées, sans avoir à manipuler des commandes complexes en ligne de commande.

Installation de Nginx Proxy Manager

L’installation de Nginx Proxy Manager est simple grâce à Docker. Voici un guide étape par étape pour le mettre en service :

Prérequis

  • Docker et Docker Compose doivent être installés sur votre serveur cloud

  • Une compréhension de base des commandes Docker

Étapes d’installation

Créez un répertoire pour Nginx Proxy Manager et accédez-y :

mkdir nginx-proxy-manager

cd nginx-proxy-manager

Créez un fichier docker-compose.yml avec le contenu suivant :

version: '3'

services:

  app:

    image: 'jc21/nginx-proxy-manager:latest'

    restart: always

    ports:

      - '80:80'

      - '81:81'

      - '443:443'

    environment:

      DB_MYSQL_HOST: "db"

      DB_MYSQL_PORT: 3306

      DB_MYSQL_USER: "npm"

      DB_MYSQL_PASSWORD: "npm"

      DB_MYSQL_NAME: "npm"

    volumes:

      - ./data:/data

      - ./letsencrypt:/etc/letsencrypt

  db:

    image: 'mysql:5.7'

    restart: always

    environment:

      MYSQL_ROOT_PASSWORD: 'npm'

      MYSQL_DATABASE: 'npm'

      MYSQL_USER: 'npm'

      MYSQL_PASSWORD: 'npm'

    volumes:

      - ./data/mysql:/var/lib/mysql

Démarrez les conteneurs :

docker-compose up -d

Accédez à Nginx Proxy Manager via l’adresse IP de votre serveur sur le port 81 (par exemple http://localhost:81).

Configuration initiale de Nginx Proxy Manager

Après l’installation, procédez à la configuration initiale :

Connexion :
Ouvrez votre navigateur et accédez à http://<ip-de-votre-serveur>:81. Les identifiants par défaut sont :

  • Email : admin@example.com

  • Mot de passe : changeme

Modifier les identifiants par défaut :
Changez immédiatement l’adresse e-mail et le mot de passe afin de sécuriser Nginx Proxy Manager.

Présentation du tableau de bord :
Le tableau de bord affiche une vue d’ensemble de vos proxy hosts, certificats SSL et autres paramètres. Prenez le temps de vous familiariser avec l’interface.

Configuration d’un nouveau proxy host

Pour exposer un service, vous devez créer un nouveau proxy host :

Ajouter un nouveau proxy host

  • Allez dans la section « Proxy Hosts »

  • Cliquez sur « Add Proxy Host »

Noms de domaine :
Saisissez les noms de domaine à associer au service. Plusieurs domaines peuvent être ajoutés en les séparant par des virgules.

Nom d’hôte/IP et port de destination :
Indiquez l’adresse IP interne et le port du service à exposer.
Exemple : pour un service web sur le port 8080, entrez 192.168.1.100 et 8080.

Options :

  • Cochez « Block Common Exploits » pour ajouter une couche de sécurité

  • Activez « Websockets Support » si nécessaire

SSL :
Vous pouvez utiliser un certificat SSL existant ou en demander un nouveau via Let’s Encrypt.

Enregistrer :
Cliquez sur « Save » pour finaliser la configuration.

Gestion des certificats SSL

Les certificats SSL sont essentiels pour sécuriser vos services. Nginx Proxy Manager simplifie leur gestion :

Demander un nouveau certificat SSL :

  • Accédez à la section « SSL Certificates »

  • Cliquez sur « Add SSL Certificate »

  • Sélectionnez « Let’s Encrypt » et renseignez l’e-mail et le nom de domaine

Renouvellement automatique :
Les certificats Let’s Encrypt sont renouvelés automatiquement, sans intervention manuelle.

Certificats personnalisés :
Si vous disposez d’un certificat SSL personnalisé, vous pouvez également le téléverser ici.

Options de configuration avancées

Nginx Proxy Manager propose plusieurs options avancées :

Listes d’accès (Access Lists) :

  • Restreignez l’accès aux services

  • Autorisez ou bloquez le trafic selon les adresses IP

Hôtes de redirection (Redirection Hosts) :

  • Configurez facilement des redirections entre domaines

Stream Hosts :

  • Gérez le trafic TCP/UDP (SSH, FTP, etc.)

Configuration Nginx personnalisée :

  • Ajoutez des directives Nginx spécifiques si nécessaire

Exposer des services : guide étape par étape

  1. Identifier le service
    Déterminez l’adresse IP interne et le port du service.

  2. Créer un proxy host
    Suivez les étapes décrites précédemment.

  3. Activer SSL
    Demandez un certificat SSL pour le domaine.

  4. Tester la configuration
    Accédez au service via le domaine.

  5. Surveiller et ajuster
    Vérifiez régulièrement les performances.

Surveillance et journaux

Journaux (Logs) :

  • Consultez-les via la section « Logs »

  • Ils contiennent les IP, chemins de requêtes et codes de réponse

Surveillance :

  • Utilisez le tableau de bord pour suivre l’état des proxy hosts et des certificats SSL

  • Vérifiez que les certificats sont à jour et que les services fonctionnent correctement

Dépannage des problèmes courants

Erreurs de certificat SSL :

  • Vérifiez que le domaine pointe correctement vers l’IP du serveur

  • Assurez-vous que les ports 80 et 443 sont ouverts

502 Bad Gateway :

  • Vérifiez que le service est actif et accessible en interne

  • Confirmez l’adresse IP et le port configurés

Délai d’expiration de connexion :

  • Contrôlez les règles du pare-feu

  • Testez la connectivité entre le serveur et le service

Conclusion

Nginx Proxy Manager simplifie grandement l’exposition des services, ce qui en fait un excellent outil aussi bien pour les débutants que pour les utilisateurs expérimentés. Grâce à son interface conviviale et à ses fonctionnalités avancées, vous pouvez configurer rapidement des reverse proxies, sécuriser vos services avec des certificats SSL et résoudre efficacement les problèmes. En suivant ce guide, vous serez en mesure de gérer et d’exposer vos services de manière efficace avec Nginx Proxy Manager

Serveur web Nginx
26.01.2026
Reading time: 6 min

Similaire

Serveur web Nginx

Exemples de directive location Nginx

La directive location de Nginx est un outil puissant pour contrôler la manière dont différents types de requêtes sont traités. En définissant des règles dans les blocs location, vous pouvez appliquer des configurations spécifiques, rediriger le trafic vers différentes parties de votre application ou même refuser complètement certaines requêtes. Une utilisation correcte de cette directive permet une gestion efficace des requêtes, essentielle pour améliorer les performances, la sécurité et les fonctionnalités des applications web. Syntaxe de base de la directive location La directive location est définie dans le fichier de configuration nginx.conf : location [modifier] uri { ... } modifier : paramètre optionnel définissant le type de correspondance (exacte, préfixe, expression régulière, etc.) uri : l’URI à faire correspondre À l’intérieur des accolades, vous pouvez définir diverses directives comme proxy_pass, root ou index. Exemple de correspondance exacte Une correspondance exacte se produit lorsque la chaîne fournie correspond exactement à l’URI demandée. location = /exact-match {     root /var/www/html;     index index.html; } Seules les requêtes vers /exact-match seront traitées par ce bloc. Vous pouvez également utiliser une condition if (notez que Nginx ne possède pas de if-else classique) : location = /exact-match {     root /var/www/html;     index index.html;     if ($http_user_agent ~* "Chrome") {         add_header X-Browser "Chrome";     } } Si l’agent utilisateur est Chrome, la réponse inclura l’en-tête supplémentaire X-Browser. Exemple de correspondance par préfixe C’est le type le plus courant : il correspond à toute URI commençant par la chaîne spécifiée. location /prefix {     root /var/www/html;     index index.html;     if ($request_method = POST) {         return 405;     } } Ce bloc gère toutes les requêtes commençant par /prefix. Si la méthode est POST, Nginx renvoie 405 Method Not Allowed. Exemple avec expressions régulières Pour des scénarios plus complexes, vous pouvez utiliser des expressions régulières. Caractères génériques courants : . correspond à un caractère .* correspond à n’importe quelle séquence ^ début de chaîne $ fin de chaîne location ~* \.php$ {     fastcgi_pass 127.0.0.1:9000;     fastcgi_index index.php;     include fastcgi_params;     if ($request_uri ~* "/admin") {         return 403;     }     if ($request_uri !~* "/admin") {         add_header X-Admin "Not Admin";     } } Explications : ~* indique une regex insensible à la casse \.php$ correspond aux fichiers PHP si l’URI contient /admin, retour 403 sinon, ajout de l’en-tête X-Admin Correspondance insensible à la casse location ~* \.jpg$ {     root /var/www/images;     if ($http_referer !~* "^https?://(www\.)?example\.com") {         return 403;     } } Correspond à .jpg, .JPG, etc., et sert les images uniquement si le referer provient de example.com. Priorité et ordre Nginx applique les règles suivantes : Correspondance exacte (=) Expressions régulières (~, ~*) dans l’ordre de définition Préfixes (/), le plus long étant prioritaire Exemple : location = /exact { } location ~* \.jpg$ { } location / { } Blocs location imbriqués location /nested {     location /nested/subnested {         root /var/www/html;     }     root /var/www/html; } Les requêtes vers /nested/subnested utilisent le bloc interne. Exemple réel de serveur web server { listen 80; server_name localhost; location / { root /var/www/html; index index.html; } location = /about { root /var/www/html; index about.html; } location /api { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location ~ \.php$ { root /var/www/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } location ~* \.(jpg|jpeg|png|gif|ico)$ { root /var/www/images; } location /admin { root /var/www/admin; index index.html; location /admin/stats { proxy_pass http://localhost:8080/stats; } } } Recharger Nginx sudo systemctl reload nginx Tests et débogage Vérifier la configuration : sudo nginx -t Tester les routes : curl -I http://localhost/about curl -X POST http://localhost/prefix/form curl -H "User-Agent: Chrome" http://localhost/exact-match Consulter les logs : tail -f /var/log/nginx/access.log tail -f /var/log/nginx/error.log Restriction d’accès aux routes sensibles location /admin {     allow 192.168.1.100;     deny all; } Seule cette IP aura accès. root vs alias Directive Comportement root ajoute l’URI alias remplace le préfixe Exemple : location /files/ {     alias /data/downloads/; } Remarque : toujours terminer alias par /. Conclusion Comprendre la directive location est essentiel pour maîtriser le traitement des requêtes dans Nginx. Les différents types de correspondance (exacte, préfixe, regex) et leurs priorités influencent directement les performances et le comportement du site. En combinant ces mécanismes avec des blocs imbriqués, vous obtenez une configuration propre, efficace et sécurisée.
06 February 2026 · 6 min to read

Avez-vous des questions,
des commentaires ou
des préoccupations ?

Nos professionnels sont disponibles pour vous aider à tout moment,
que vous ayez besoin d'aide ou que vous ne sachiez pas par où commencer.
Envoyez-nous un e-mail
Hostman's Support