HTTP 502 Bad Gateway
Il reclamo dell'intermediario: un proxy o una CDN ha interpellato il server reale e ha ricevuto spazzatura — o nulla — come risposta.
Cosa significa HTTP 502
HTTP 502 Bad Gateway proviene da un intermediario — nginx, un load balancer, Cloudflare — che ha inoltrato la tua richiesta a un server upstream e ha ricevuto una risposta non valida: una connessione rifiutata, un crash a metà risposta, o byte che non si analizzano come HTTP.
Il colpevole indicato quasi mai è il proxy stesso; di solito è il server applicativo dietro di esso che è inattivo, sovraccarico o irraggiungibile.
Cause comuni degli errori 502
- Il server applicativo (PHP-FPM, Node, gunicorn, ecc.) è andato in crash o non è in esecuzione.
- Il proxy punta alla porta/socket sbagliata, oppure un firewall blocca la connessione upstream.
- La risposta upstream ha superato i buffer o è andata in timeout a metà trasferimento.
- Un deploy ha riavviato i backend mentre il traffico era in corso.
- Con le CDN come Cloudflare: il server di origine è inattivo mentre l'edge funziona correttamente.
Come risolverlo da visitatore
- Ricarica dopo un minuto — i 502 durante i deploy si risolvono da soli.
- Controlla la pagina di stato del servizio se continua a succedere.
Come risolverlo da sviluppatore
- Controlla se il processo upstream è attivo e in ascolto sull'indirizzo che il proxy si aspetta.
- Leggi il log degli errori del proxy — nginx dice esattamente perché (connect() failed, upstream prematurely closed, ecc.).
- Verifica porte, percorsi dei socket unix e regole del firewall tra proxy e app.
- Aggiungi health check così il load balancer smette di instradare verso istanze morte.
Esempio di risposta
HTTP/1.1 502 Bad Gateway Server: nginx Content-Type: text/html <html><body><h1>502 Bad Gateway</h1></body></html>
FAQ
Qual è la differenza tra 502 e 504?
502 significa che l'upstream ha risposto con qualcosa di non valido (o ha rifiutato la connessione); 504 significa che non ha risposto affatto entro il timeout.
Perché Cloudflare mostra 502?
L'edge di Cloudflare non è riuscito a ottenere una risposta valida dal tuo server di origine — l'origine è inattiva, irraggiungibile o restituisce risposte malformate.
Un 502 è temporaneo?
Di solito sì — i deploy e i riavvii causano brevi 502. I 502 persistenti significano che il backend è davvero inattivo o mal configurato.