L’errore 502 Bad Gateway compare quando un server che fa da intermediario non riceve una risposta valida dal server che dovrebbe generare la pagina. Il nome può sembrare oscuro, ma descrive una situazione molto concreta: tra il tuo browser e il sito c’è quasi sempre più di un server, e il 502 dice che il passaggio di consegne tra due di questi server è fallito.
In questa guida vediamo che cosa significa davvero “gateway”, come si presenta l’errore, quali sono le cause più frequenti, come leggerle nei log e come risolverle, sia da visitatore sia da gestore del sito.
Cosa significa errore 502
Il 502 appartiene alla famiglia degli errori 5xx, quelli che indicano un problema sul server. Per capirlo bisogna sapere come è fatto un sito moderno. Quando visiti una pagina, la richiesta arriva di solito a un primo server, che può essere un CDN come Cloudflare, un bilanciatore di carico o un server web come Nginx. Questo primo server non genera la pagina da solo: la chiede a un secondo livello, che può essere il server dell’hosting, il motore PHP che esegue WordPress o un’applicazione Node.js. Nel gergo tecnico il primo fa da gateway o proxy, il secondo è il server upstream o di origine.
Il 502 nasce quando il gateway interroga l’upstream e riceve una risposta incomprensibile, una connessione chiusa all’improvviso oppure nessuna connessione. A differenza dell’errore 500, in cui è l’applicazione stessa a segnalare un problema, qui il messaggio arriva dal server intermedio, che sta dicendo in sostanza: “io funziono, ma quello dietro di me no”.
Come si presenta
Le varianti più comuni sono 502 Bad Gateway, spesso con la scritta nginx in fondo alla pagina, HTTP Error 502, Bad Gateway: the proxy server received an invalid response from an upstream server e, sui siti protetti da Cloudflare, una pagina con lo schema browser, Cloudflare e host in cui l’ultimo elemento è segnato in rosso. Quest’ultima variante è preziosa, perché ti dice subito che Cloudflare funziona e che il problema è sul server dell’hosting.
Le cause più frequenti
Il motore PHP non risponde
Sulla maggior parte degli hosting moderni, Nginx o un altro server web passano le richieste a PHP-FPM, il servizio che esegue il codice di WordPress e degli altri CMS. Se PHP-FPM si è bloccato, è stato riavviato o ha esaurito i processi disponibili, il server web non riceve risposta e restituisce un 502. Nel log degli errori di Nginx compare una riga di questo tipo:
connect() to unix:/run/php/php8.2-fpm.sock failed (111: Connection refused) while connecting to upstream
Il messaggio dice che Nginx ha provato a contattare PHP attraverso il suo socket e ha trovato la porta chiusa.
L’applicazione si interrompe a metà
Uno script che va in crash mentre genera la pagina chiude la connessione senza completare la risposta. Nel log appare come upstream prematurely closed connection while reading response header from upstream. Le cause tipiche sono errori fatali di PHP, limiti di memoria superati in modo brusco o processi terminati dal sistema perché consumavano troppe risorse.
Server di origine sovraccarico
Un picco di traffico, un bot aggressivo o un’operazione pesante come un backup possono saturare il server dell’hosting. Le richieste in eccesso non ricevono risposta valida e il gateway le trasforma in 502. Spesso l’errore compare a ondate, per poi sparire quando il carico scende.
Problemi tra CDN e hosting
Se il sito usa Cloudflare o un altro CDN, il 502 può nascere nel collegamento tra CDN e server di origine: un firewall dell’hosting che blocca gli indirizzi del CDN, un record DNS che punta a un indirizzo IP sbagliato dopo un trasloco, un certificato non valido sul server di origine quando il CDN è configurato per verificarlo.
Intestazioni di risposta troppo grandi
Un caso meno noto ma frequente con WordPress: se l’applicazione invia intestazioni molto grandi, per esempio molti cookie, Nginx può rifiutare la risposta con un messaggio come upstream sent too big header while reading response header from upstream. La soluzione è aumentare i buffer dedicati alle intestazioni o, meglio, capire quale plugin genera intestazioni così pesanti.
Come risolvere se sei un visitatore
Il 502 è un problema del server, ma alcune verifiche rapide ti aiutano a capire se aspettare o insistere. Ricarica la pagina dopo qualche secondo: molti 502 sono momentanei e spariscono al secondo tentativo. Prova in una finestra in incognito o con un altro browser, per escludere una versione in cache della pagina di errore. Se usi una VPN o un proxy, disattivali, perché a volte è proprio il proxy a restituire il 502. Se l’errore persiste su più dispositivi e reti, non c’è altro da fare che attendere che il gestore del sito intervenga.
Come risolvere se il sito è tuo
1. Capisci da dove arriva l’errore
La pagina di errore ti dice già molto. Una pagina di Cloudflare con l’host segnato in rosso indica un problema sul server dell’hosting; una pagina bianca con la scritta nginx indica che è il server web dell’hosting a non ricevere risposta da PHP. Se hai dubbi, controlla lo stato del sito con il CDN in pausa: se il 502 scompare, il problema è nella configurazione del CDN.
2. Leggi i log
Il log degli errori del server web contiene quasi sempre il motivo preciso, con messaggi come quelli visti sopra. Cerca le righe con l’orario in cui hai visto l’errore. Se non sai dove trovarli, la guida ai log del server spiega dove si trovano su cPanel, Plesk e sui server Linux.
3. Riavvia o verifica PHP
Su un hosting condiviso, cambiare temporaneamente la versione di PHP dal pannello e poi ripristinarla equivale spesso a riavviare il servizio. Su un VPS puoi controllarne lo stato e riavviarlo con due comandi, adattando il numero di versione a quella installata:
systemctl status php8.2-fpm
systemctl restart php8.2-fpm
Se il servizio si blocca di nuovo dopo poco, il riavvio è solo un rimedio temporaneo: la causa va cercata nel codice o nelle risorse.
4. Controlla le risorse e il numero di processi
Se il log di PHP-FPM segnala di aver raggiunto il limite pm.max_children, tutti i processi disponibili erano occupati. Puoi aumentarne il numero, ma solo se la memoria del server lo consente: ogni processo PHP consuma memoria, e alzare troppo il limite sposta semplicemente il problema. Spesso è più efficace ridurre il lavoro di PHP con una cache di pagina e individuare gli script lenti.
5. Escludi plugin e tema
Se il 502 compare solo su alcune pagine o dopo un aggiornamento, un plugin o il tema potrebbero causare crash o tempi di esecuzione eccessivi. Su WordPress puoi disattivarli rinominando la cartella wp-content/plugins via FTP e riattivarli uno alla volta. Trovi il metodo completo nella guida agli errori di WordPress.
6. Verifica la configurazione del CDN
Se il problema riguarda il collegamento tra CDN e hosting, controlla che il record DNS punti all’indirizzo IP corretto del server, che il firewall dell’hosting non blocchi gli indirizzi del CDN e che la modalità di cifratura impostata sul CDN sia compatibile con il certificato installato sul server. Dopo un trasloco di hosting, il record DNS rimasto sul vecchio indirizzo è una delle cause più comuni.
502, 503 e 504: come distinguerli
I tre errori vengono spesso confusi perché si presentano in situazioni simili. Il 502 dice che il server intermedio ha ricevuto una risposta non valida, o nessuna connessione, dal server dietro di lui. Il 504 dice che la connessione c’era, ma la risposta non è arrivata in tempo: è tipico degli script lenti. Il 503 dice che il server è temporaneamente indisponibile per manutenzione o sovraccarico, e lo comunica in modo esplicito; ne parliamo nella guida all’errore 503. Riconoscere il codice esatto ti fa risparmiare tempo, perché le soluzioni sono diverse.
Errore 502 e SEO
Come tutti gli errori 5xx, un 502 occasionale non ha conseguenze sul posizionamento: Google riprova la scansione più tardi. Se però il sito restituisce 502 per ore o giorni, Google riduce la frequenza di scansione e può rimuovere temporaneamente le pagine dai risultati. Il rapporto sull’indicizzazione di Search Console segnala le pagine che hanno restituito errori del server, e un servizio di monitoraggio dell’uptime ti avvisa appena il problema compare, senza aspettare che lo noti un visitatore.
Domande frequenti
Il 502 dipende dalla mia connessione?
Quasi mai. Il 502 nasce tra due server, non tra il tuo computer e il sito. L’unica eccezione è quando usi un proxy o una VPN, che possono essere loro stessi il server intermedio che restituisce l’errore.
Perché il 502 compare e scompare?
Di solito perché il server di origine è al limite delle risorse: quando il carico sale, alcune richieste non vengono servite; quando scende, tutto torna normale. In questi casi conviene incrociare gli orari degli errori con i grafici di utilizzo di CPU e memoria.
Cloudflare può causare un 502?
Raramente il problema è in Cloudflare stesso; molto più spesso Cloudflare mostra il 502 perché non riceve una risposta valida dal tuo hosting. La pagina di errore di Cloudflare indica chiaramente se il problema è sul suo lato o sul server di origine.






