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.