UGREEN Conseil de configuration reverse proxy pour router vers les containers docker

ortys4

Nouveau membre
26 Juin 2025
5
2
3
Bonjour,

J'ai pas mal travaillé pour faire une configuration souple et sécurisé de mes dockers.
Je vous partage donc mon montage.

1) J'ai ouvert le port 443 de mon routeur vers mon NAS
2) J'ai monté un container ngnix-reverse-proxy en mappant uniquement le port 443 et en l'associant à un réseau bridge spécifique (nommé apps)
3) J'ai ajouté tous mes autres container sans exposé aucun port

Ca donne ca en schéma

reseau docker.png

4) Ma conf nginx pointe maintenant sur le nom des dockers et non sur l'IP du NAS.
Capture d’écran du 2025-07-18 16-48-40.png

Cela permet de limiter drastiquement l'ouverture des ports sur le réseau et donc augmente la sécurité

N'hésitez pas à rajouter des suggestions.
Je suis pas un génie de l'infra ni de la sécurité, mais je m'applique à faire ça bien
 
  • J'aime
Réactions: Stephane_974
N'est ce pas le but du reverse proxy justement ? de n'ouvrir que les 2 ports 80 et 443 ?
 
Tu as tout à fait raison.
Mais très souvent dans les tutos, les gens map les ports des container les rendant accessible sur le réseau local sans passer par le proxy
Exemple sur une route home-assistant:
ha.mondomaine.fr -> 192.168.0.10:8123
 
Bonjour à tous,

Je sollicite votre aide pour un problème de configuration du pare-feu UGOS.

Dans le but d'avoir mon domaine et d'accéder à chacune de mes applis (sous Docker) au travers d'un riverse proxy, je fais tourner sous Docker Nginx PM (auquel est adossé un conteneur Cloudflare pour mise à jour de l'IP). Domaine chez OVH. Tout fonctionne très bien quand le pare-feu est désactivé.
Voici le compose :
Code:
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: nginx-proxy-manager
    restart: unless-stopped
    dns:                     # DNS Cloudflare et Google
      - 1.1.1.1
      - 8.8.8.8
    ports:                    # Mode Bridge
      - '10080:80'            # Port HTTP
      - '18443:443'           # 18443 externe vers 443 interne pour laisser le 443 au NAS si besoin
      - '81:81'               # Interface Admin
     environment:
      DISABLE_IPV6: 'true'
      DB_SQLITE_FILE: "/data/database.sqlite"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

Visiblement, il y a un truc qui se fait refouler par le pare-feu mais je n'arrive pas à voir quoi. Voici les règles que j'ai mises, en tête de liste :
1769500728576.png

Les 3 dernières règles sont relatives à des adresses réseaux Docker que j'ai pu trouvé via "ip addr" depuis SSH.

C'est là où j'atteins mes limites, tout coup de pouce serait le bien venu, cela fait 3 jours que je tourne en rond et plus une progression :cautious:

Merci et bonne journée!
 
Normalement quand tu utilise un Reverse Proxy tout doit passer par le port 443 en https. Et ce port doit être rediriger vers le NAS . Le nom de domaine maître ndd.fr doit pointer sur un serveur Web que tu n'es pas obligé d'activer . Ensuite tu dois créer des sous-domaine pour rediriger vers la bonne appli .
'18443:443' # 18443 externe vers 443 interne pour laisser le 443 au NAS si besoin
Je ne comprend pas cette ligne , pour moi le port d'entré est le 443 et tu dois rediriger vers le port du container à l'aide du Reverse Proxy.
J'utilise plusieurs sous-domaine le port d'entrée est tjrs le 443 , c'est le nom du sous-domaine qui détermine l'application , exempl:
qt.ndd.fr pour rediriger vers qBittorrent ; mdp.ndd.fr pour rediriger vers Vaultwarden ............
Si je rentre le nom de domaine maître seul : ndd.fr je tombe sur mon serveur Web
 
Bonjour,
au travers d'un riverse proxy, je fais tourner sous Docker Nginx
Comme indiqué par @zypos, c'est le 443 qui est concerné pour l'externe.
Aussi pour Ngnix pourquoi mettre d'autres ports en accès ? 443:443 80:80 81:81
Pour ton pare-feu tu autorises 443 (pour ceux qui peuvent avoir accès, Pays et/ou Ip refusées etc) et le 80 pour le renouvellement de tes NDD.
conteneur Cloudflare pour mise à jour de l'IP
Pourquoi tu utilises ce service ? OVH fourni un DDNS si tu n'as pas d'IP publique fixe, il me semble :unsure:
 
Merci Morgyann, cela fonctionne avec le port 443.
Cloudflare me sert de filtre, pour cacher mon IP. Après c'est peut-être excessif...
 
  • J'aime
Réactions: morgyann
Cloudflare me sert de filtre, pour cacher mon IP. Après c'est peut-être excessif...
Pourquoi pas ... Mais, perso, j'ai un peu de mal à comprendre qu'en auto-hébergement que l'on puisse être lié et dépendre un simili GAFAM. C'est un peu antinomique, philosophiquement parlant :rolleyes:
 
J’admets bien la volontiers que ça touche aux limites de ma connaissance. Le cahier des charges était simple : avoir un certificat SSL qui ne pose pas de problème dans les navigateurs et éviter au maximum les scans automatiques par des bots. Et j’avais trouvé un tuto qui me « semblait » pas mal…
 
Cloudflare me sert de filtre, pour cacher mon IP.
Je pense qu'il y a confusion : Cloudflare sert de filtre = oui : prévention des attaques DDOS . Mais à ma connaissance cela ne cache pas ton IP .
certificat SSL qui ne pose pas de problème dans les navigateurs et éviter au maximum les scans automatiques par des bots.
oui Cloudflare permet cela mais il te faut un compte gratuit chez eux et modifier les serveurs DNS de ton régistar par ceux qui t'on été attribué par Cloudflare.
Cette solution est utile si tu ne veux pas te casser la tête avec les certificats SSL et si tu gère plusieurs sous-domaine.
 
oui Cloudflare permet cela mais il te faut un compte gratuit chez eux et modifier les serveurs DNS de ton régistar par ceux qui t'on été attribué par Cloudflare.
Cette solution est utile si tu ne veux pas te casser la tête avec les certificats SSL et si tu gère plusieurs sous-domaine.
Merci pour ton retour, j’ai 5 sous-domaines effectivement, tous auto-hébergés.