Mai 23, 2026Guides
Configurer un reverse proxy Nginx
Proxy Node.js, Docker et autres apps via Nginx avec WebSocket et SSL.

Un reverse proxy permet à Nginx d’accepter le trafic HTTP/HTTPS public et de le transmettre au backend (Node.js port 3000, Docker, etc.).
Prérequis
- Nginx installé et actif
- App backend sur localhost (ex. 127.0.0.1:3000)
- Domaine pointant vers le VPS (pour SSL)
- Ports 80 et 443 ouverts au pare-feu
Configuration de base
Créez un site pour votre domaine :
bash
server {
listen 80;
server_name app.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
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;
}
}
sudo nginx -t && sudo systemctl reload nginxSupport WebSocket
Requis pour Socket.io, tableaux de bord et apps temps réel :
bash
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}HTTPS avec Certbot
Une fois le HTTP OK, certificat gratuit :
bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d app.yourdomain.comConseils
- proxy_buffering off pour streaming/SSE
- client_max_body_size pour les uploads
- Plusieurs backends sur sous-domaines
- Blocs upstream pour équilibrage
- Erreur 502 : consulter error.log