Maggio 23, 2026Guide
Come configurare un reverse proxy Nginx
Proxy di Node.js, Docker o altre app tramite Nginx con supporto WebSocket e SSL sul VPS.

Un reverse proxy permette a Nginx di ricevere traffico HTTP/HTTPS pubblico e inoltrarlo alle app backend (Node.js sulla porta 3000, container Docker, API Python). Essenziale per i deploy in produzione su un VPS Hiddence.
Prerequisiti
- Nginx installato e in esecuzione
- App backend in ascolto su localhost (es. 127.0.0.1:3000)
- Dominio puntato al VPS (per SSL)
- Porte 80 e 443 aperte nel firewall
Configurazione base reverse proxy
Crea una configurazione sito per il dominio:
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 nginxSupporto WebSocket
Necessario per Socket.io, molte dashboard e app realtime:
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;
}Aggiungere HTTPS con Certbot
Quando HTTP funziona, emetti un certificato gratuito:
bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d app.yourdomain.com
# Certbot will update your server block for SSL automaticallySuggerimenti
- Usa proxy_buffering off per streaming/SSE se necessario
- Imposta client_max_body_size per upload file
- Esegui più backend su sottodomini diversi
- Usa blocchi upstream per bilanciare più backend
- Controlla error.log in caso di 502 Bad Gateway