Docker : publier le frontend sur le port hôte 2202 (au lieu de 8080)

Évite un conflit avec une instance existante sur 8080. Seul le port HÔTE change
(2202:80) ; les ports internes des conteneurs (backend 8080) sont inchangés, donc
le proxy interne nginx -> backend n'est pas affecté. Auth__FrontendBaseUrl par défaut
et Caddyfile.example alignés sur 2202.
This commit is contained in:
2026-09-15 15:04:51 +02:00
parent e9178e3c20
commit c48251187c
2 changed files with 10 additions and 10 deletions
+8 -8
View File
@@ -2,7 +2,7 @@
# avec Caddy sur une machine SÉPARÉE de la machine Docker.
#
# Topologie :
# Internet ──HTTPS──> [Machine Caddy] ──HTTP──> [Machine Docker] : port 8080
# Internet ──HTTPS──> [Machine Caddy] ──HTTP──> [Machine Docker] : port 2202
# (frontend nginx du compose,
# qui sert l'app et proxifie /api)
#
@@ -13,9 +13,9 @@
schotz.exemple.fr {
encode zstd gzip
# La machine Docker publie le frontend nginx sur son port 8080 (voir docker-compose.yml).
# La machine Docker publie le frontend nginx sur son port 2202 (voir docker-compose.yml).
# nginx sert l'app Angular et proxifie /api vers le backend en interne.
reverse_proxy 192.168.1.50:8080 {
reverse_proxy 192.168.1.50:2202 {
# En-têtes transmis au backend pour qu'il connaisse le schéma/hôte d'origine.
header_up X-Forwarded-Proto {scheme}
header_up X-Forwarded-Host {host}
@@ -32,16 +32,16 @@ schotz.exemple.fr {
}
# --- SÉCURITÉ RÉSEAU (important, machines séparées) ---
# Le port 8080 de la machine Docker devient joignable sur le réseau : sans filtrage,
# Le port 2202 de la machine Docker devient joignable sur le réseau : sans filtrage,
# l'application serait accessible en HTTP direct (sans TLS), en contournant Caddy.
# Recommandations :
# 1) Restreindre l'accès au port 8080 de la machine Docker à la seule IP de la machine
# 1) Restreindre l'accès au port 2202 de la machine Docker à la seule IP de la machine
# Caddy (pare-feu : ufw/iptables/nftables ou security group), ex. (ufw) :
# ufw allow from <IP_CADDY> to any port 8080 proto tcp
# ufw deny 8080
# ufw allow from <IP_CADDY> to any port 2202 proto tcp
# ufw deny 2202
# 2) Idéalement, faire communiquer les deux machines via un réseau privé/VPN
# (WireGuard, réseau interne du datacenter) plutôt qu'en clair sur Internet.
# 3) Ne pas publier le backend (8080 du service backend) directement : seul le frontend
# 3) Ne pas publier le backend (8080 interne du service backend) directement : seul le frontend
# nginx est exposé ; le backend reste sur le réseau interne du compose.
# --- Points côté application (fichier .env sur la machine Docker) ---