Vous avez déployé Nextcloud sur le port 8080, Jellyfin sur 8096, Vaultwarden sur 8081, et une douzaine d'autres services. Maintenant, vous jonglez avec des signets comme http://192.168.1.50:8080, vous avez du mal à vous souvenir quel port correspond à quoi, et votre navigateur hurle des avertissements de sécurité car rien n'a HTTPS.
Il existe une meilleure solution. Nginx Proxy Manager (NPM) est un reverse proxy magnifique et convivial qui se place devant tous vos services et gère la complexité pour vous. En quelques clics, vous obtenez des certificats SSL automatiques de Let's Encrypt, des URLs de sous-domaines propres comme cloud.votredomaine.com, et un superbe tableau de bord pour tout gérer.
Qu'est-ce qu'un Reverse Proxy ?
Un reverse proxy est un serveur qui se place entre Internet et vos applications. Quand quelqu'un visite cloud.votredomaine.com, la requête atteint d'abord votre reverse proxy. Le proxy regarde le nom de domaine, trouve la règle correspondante et transmet la requête au bon service interne.
Avantages d'utiliser un reverse proxy :
- Point d'entrée unique — Seuls les ports 80 et 443 exposés à Internet
- HTTPS automatique — Certificats SSL pour tous les services sans effort
- URLs propres — Utilisez des sous-domaines au lieu de numéros de port
- Contrôle d'accès — Liste blanche IP, authentification basique, et plus
- Sécurité centralisée — Un seul endroit pour gérer les en-têtes et politiques de sécurité
Configuration Docker Compose
services:
npm:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx-proxy-manager
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
networks:
- proxy
networks:
proxy:
name: proxy
driver: bridge
Première connexion
Accédez à http://VOTRE_IP:81 et connectez-vous avec :
- Email :
[email protected] - Mot de passe :
changeme
Vous serez immédiatement invité à les modifier. Choisissez un mot de passe fort !
Ajouter un proxy host
- Allez dans Hosts → Proxy Hosts
- Cliquez Add Proxy Host
- Configurez le domaine, le hostname de transfert et le port
- Dans l'onglet SSL, demandez un nouveau certificat Let's Encrypt
- Activez Force SSL et HTTP/2
En quelques secondes, votre service sera disponible avec HTTPS !
Découvrez plus d'outils d'infrastructure sur hostly.sh.