Configurer un Reverse Proxy Nginx
Le Reverse Proxy est une fonctionnalité essentielle qui permet de rediriger le trafic entrant (ex: port 80/443) vers un service interne (ex: port 3000). Cela sécurise l'architecture et simplifie l'accès à vos applications (NodeJS, Python, Docker...).
1. Principe de fonctionnement
Le flux de connexion se déroule comme suit :
Utilisateur (Internet)
app.domaine.fr (Nginx)
localhost:3000 (Votre App)
2. Configuration
Créez ou éditez votre fichier de configuration de site (vHost) dans Nginx :
sudo nano /etc/nginx/sites-available/app.conf
Utilisez cette configuration standard de proxy :
server {
listen 80;
server_name app.domaine.fr;
location / {
# La redirection vers le service interne
proxy_pass http://localhost:3000;
# Transmission des en-têtes (IP réelle du client, etc.)
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;
}
}
3. Activation et Redémarrage
Si vous venez de créer le fichier, il faut l'activer en créant un lien symbolique :
sudo ln -s /etc/nginx/sites-available/app.conf /etc/nginx/sites-enabled/
# Tester la configuration sudo nginx -t # Si le test est OK, redémarrez Nginx sudo systemctl restart nginx