Chi Siamo Area Clienti Promo del Mese Dicono di Noi Portfolio FAQ Blog
Seo e Google ADS

Errore 502 Bad Gateway: Significato, Cause e Soluzioni

Gianluca Gentile
Gianluca Gentile
· 16 min di lettura

Cos’e’ l’errore 502 Bad Gateway

L’errore 502 Bad Gateway e’ uno dei codici di stato HTTP piu’ temuti da chi gestisce un sito web. Quando compare, significa che un server che funge da gateway o proxy ha ricevuto una risposta non valida dal server upstream a cui si e’ rivolto per soddisfare la richiesta dell’utente.

In parole semplici, il tuo browser invia una richiesta a un server (ad esempio Nginx o un CDN come Cloudflare), il quale a sua volta la inoltra a un altro server (il cosiddetto server upstream, come Apache o PHP-FPM). Se questo secondo server risponde con qualcosa di incomprensibile, o non risponde affatto, il primo server restituisce l’errore 502 al visitatore.

Il codice 502 appartiene alla famiglia degli errori 5xx, cioe’ errori lato server. Questo significa che il problema non dipende dal visitatore, ma dall’infrastruttura su cui il sito e’ ospitato. Per il proprietario del sito, un errore 502 rappresenta un problema critico: i visitatori non possono accedere ai contenuti, le vendite si bloccano e la reputazione del brand ne risente.

Il messaggio puo’ apparire in diverse varianti a seconda del browser e del server:

Indipendentemente dalla forma in cui si presenta, il significato e’ sempre lo stesso: la comunicazione tra i server che compongono la catena di servizio si e’ interrotta.

Differenza tra errore 502, 503 e 504

Prima di approfondire le cause e le soluzioni dell’errore 502 Bad Gateway, e’ utile capire in cosa si differenzia dagli altri errori 5xx piu’ comuni, ovvero il 503 e il 504.

Errore 502 Bad Gateway

Come abbiamo visto, l’errore 502 indica che un server intermedio (gateway o reverse proxy) ha ricevuto una risposta non valida dal server a monte. Il server upstream potrebbe essere andato in crash, aver restituito dati corrotti o aver chiuso la connessione in modo anomalo.

Errore 503 Service Unavailable

L’errore 503 significa che il server e’ temporaneamente non disponibile, di solito a causa di sovraccarico o manutenzione programmata. A differenza del 502, qui il server upstream potrebbe essere perfettamente raggiungibile, ma ha deciso di non accettare nuove richieste. Spesso include un header Retry-After che indica al client quando riprovare.

Errore 504 Gateway Timeout

L’errore 504 e’ simile al 502, ma con una differenza cruciale: il server intermedio non ha ricevuto alcuna risposta dal server upstream entro il tempo limite. Mentre nel 502 la risposta arriva ma e’ invalida, nel 504 la risposta non arriva proprio. Tipicamente e’ causato da script PHP che impiegano troppo tempo o da un server upstream sovraccarico che non riesce a rispondere.

In sintesi:

Conoscere queste differenze e’ fondamentale per diagnosticare correttamente il problema e applicare la soluzione giusta.

Cause principali dell’errore 502

L’errore 502 Bad Gateway puo’ avere molteplici cause. Analizziamo le piu’ frequenti, partendo da quelle piu’ comuni nella pratica quotidiana di gestione server.

Server upstream non raggiungibile

La causa piu’ frequente dell’errore 502 e’ che il server applicativo (upstream) non e’ in esecuzione o non e’ raggiungibile. Ad esempio, se Nginx e’ configurato per inoltrare le richieste PHP a PHP-FPM, ma il servizio PHP-FPM si e’ arrestato, Nginx restituira’ un errore 502 perche’ non riesce a comunicare con il backend.

Questo puo’ accadere per diversi motivi:

Timeout di PHP-FPM

Quando uno script PHP impiega troppo tempo per completare l’esecuzione, PHP-FPM puo’ terminare il processo worker. Se il reverse proxy (Nginx o Apache) riceve una chiusura improvvisa della connessione, interpreta questa situazione come una risposta non valida e genera un errore 502.

I timeout piu’ rilevanti sono:

Se questi valori non sono allineati, il processo PHP potrebbe essere terminato prima che Nginx si aspetti la fine della comunicazione, causando l’errore.

Problemi con il reverse proxy (Nginx/Apache)

In architetture dove Nginx funge da reverse proxy per Apache (configurazione molto comune nei pannelli di controllo come Plesk e cPanel), l’errore 502 puo’ derivare da problemi nella comunicazione tra i due web server.

Le cause tipiche includono:

In questi casi, e’ essenziale controllare i log di entrambi i web server per individuare il punto esatto in cui la comunicazione si interrompe.

CDN o Cloudflare con problemi

Se il tuo sito utilizza un CDN (Content Delivery Network) come Cloudflare, Fastly o AWS CloudFront, l’errore 502 potrebbe originare dalla rete CDN stessa. Cloudflare, ad esempio, mostra una pagina specifica con l’intestazione “Error 502 Bad Gateway – Cloudflare” quando non riesce a raggiungere il server di origine.

In questo scenario, il problema potrebbe essere:

Sovraccarico del server

Un improvviso picco di traffico puo’ esaurire le risorse del server (CPU, RAM, connessioni disponibili), impedendo al server upstream di gestire le richieste. Quando PHP-FPM esaurisce tutti i worker disponibili, le nuove richieste vengono messe in coda. Se la coda si riempie, le richieste vengono rifiutate e Nginx restituisce un errore 502.

Questa situazione e’ particolarmente frequente su server condivisi o VPS con risorse limitate, dove un singolo sito puo’ consumare tutte le risorse disponibili durante un picco di traffico o un attacco DDoS.

Firewall o mod_security che blocca le richieste

I Web Application Firewall (WAF) come ModSecurity possono bloccare richieste legittime se le regole sono troppo restrittive. Quando ModSecurity blocca una richiesta a livello del backend, il server upstream potrebbe restituire una risposta che il reverse proxy interpreta come non valida, generando un errore 502.

Anche i firewall di rete (iptables, firewalld, CSF) possono causare il problema se bloccano la comunicazione tra i componenti interni del server, ad esempio tra Nginx e PHP-FPM o tra un container Docker e l’host.

Come risolvere l’errore 502 Bad Gateway

Ora che conosciamo le cause, vediamo come risolvere l’errore 502 in modo sistematico. Partiamo dalle soluzioni piu’ semplici e veloci, per poi passare a quelle piu’ tecniche.

Ricaricare la pagina e svuotare la cache

Il primo passo e’ sempre il piu’ semplice: ricarica la pagina. L’errore 502 puo’ essere temporaneo, causato da un breve riavvio del server o da un picco di carico momentaneo. Prova con Ctrl+F5 (o Cmd+Shift+R su Mac) per forzare il refresh ignorando la cache del browser.

Se il problema persiste, svuota completamente la cache del browser e dei DNS locali:

Verificare lo stato del server

Se sei il proprietario o l’amministratore del server, il passo successivo e’ verificare che tutti i servizi siano in esecuzione. Collegati via SSH e controlla lo stato dei servizi principali:

# Controlla lo stato di Nginx
sudo systemctl status nginx

# Controlla lo stato di Apache
sudo systemctl status apache2   # Debian/Ubuntu
sudo systemctl status httpd     # CentOS/RHEL

# Controlla lo stato di PHP-FPM
sudo systemctl status php8.2-fpm   # adatta alla tua versione

# Controlla l'uso delle risorse
top -bn1 | head -20
free -h
df -h

Se uno dei servizi e’ fermo (stato “inactive” o “failed”), hai trovato la causa. Prima di riavviarlo, pero’, controlla i log per capire perche’ si e’ fermato.

Controllare i log di errore

I log sono la risorsa piu’ preziosa per diagnosticare un errore 502. Ecco dove trovarli:

# Log errori di Nginx
tail -50 /var/log/nginx/error.log

# Log errori di Apache
tail -50 /var/log/apache2/error.log

# Log di PHP-FPM
tail -50 /var/log/php8.2-fpm.log

# Log di sistema
journalctl -u nginx --since "10 minutes ago"
journalctl -u php8.2-fpm --since "10 minutes ago"

I messaggi piu’ comuni nei log Nginx in caso di errore 502 sono:

Riavviare PHP-FPM o il web server

Se i log non rivelano un problema strutturale, un riavvio dei servizi spesso risolve errori 502 temporanei:

# Riavvia PHP-FPM
sudo systemctl restart php8.2-fpm

# Riavvia Nginx
sudo systemctl restart nginx

# Riavvia Apache (se usato come backend)
sudo systemctl restart apache2

# In alternativa, riavvia tutti insieme
sudo systemctl restart php8.2-fpm nginx apache2

Dopo il riavvio, verifica che i servizi siano tornati attivi con systemctl status e controlla immediatamente i log per assicurarti che non si verifichino nuovi errori.

Aumentare i timeout di proxy

Se l’errore 502 si verifica durante operazioni pesanti (importazioni, generazione di report, aggiornamenti), potrebbe essere necessario aumentare i timeout. In Nginx, modifica il file di configurazione del virtual host:

# Nella sezione location del virtual host Nginx
location / {
    proxy_connect_timeout 300;
    proxy_send_timeout 300;
    proxy_read_timeout 300;
    send_timeout 300;

    # Per FastCGI (PHP-FPM diretto)
    fastcgi_read_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_connect_timeout 300;

    # Buffer piu' grandi per risposte complesse
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k;
}

Ricorda di allineare anche il max_execution_time in php.ini e il request_terminate_timeout nel pool PHP-FPM, altrimenti PHP potrebbe terminare prima che Nginx raggiunga il suo timeout.

Disabilitare temporaneamente CDN/Cloudflare

Se utilizzi Cloudflare o un altro CDN, prova a metterlo in pausa temporaneamente per verificare se l’errore 502 e’ causato dalla rete CDN o dal server di origine:

Se il sito funziona senza CDN, il problema e’ nella comunicazione tra CDN e server. Verifica che il certificato SSL del server sia valido e che il firewall non blocchi gli IP del CDN.

Errore 502 su WordPress: soluzioni specifiche

WordPress e’ il CMS piu’ diffuso al mondo, e l’errore 502 Bad Gateway e’ una delle problematiche piu’ frequenti che i suoi utenti devono affrontare. Ecco le soluzioni specifiche per WordPress.

Plugin problematici

I plugin WordPress possono causare errori 502 in diversi modi: consumo eccessivo di memoria, conflitti tra plugin, codice difettoso che manda in crash PHP-FPM. Per verificare se un plugin e’ la causa:

  1. Accedi al server via FTP o SSH
  2. Rinomina la cartella wp-content/plugins in wp-content/plugins_bak
  3. Ricarica il sito: se funziona, il problema e’ in un plugin
  4. Rinomina la cartella originale e disattiva i plugin uno alla volta per trovare il colpevole

In alternativa, via WP-CLI:

# Disattiva tutti i plugin
wp plugin deactivate --all

# Riattivali uno alla volta
wp plugin activate plugin-name

Tema difettoso

Anche il tema puo’ causare un errore 502, soprattutto dopo un aggiornamento. Per verificare, passa temporaneamente a un tema predefinito via SSH:

# Attiva il tema Twenty Twenty-Four
wp theme activate twentytwentyfour

Se il sito torna a funzionare, il problema e’ nel tema. Contatta lo sviluppatore o considera di cambiarlo.

Limiti di memoria PHP

WordPress e i suoi plugin possono richiedere molta memoria. Se il limite e’ troppo basso, PHP potrebbe andare in crash generando un errore 502. Aumenta il limite in wp-config.php:

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

E anche in php.ini:

memory_limit = 512M
max_execution_time = 300
max_input_vars = 3000

File .htaccess corrotto

Un file .htaccess corrotto puo’ causare conflitti con il web server. Rinominalo temporaneamente:

mv .htaccess .htaccess.bak

Poi rigenera un file .htaccess pulito accedendo a Impostazioni > Permalink nel pannello WordPress e cliccando “Salva modifiche”.

Aggiornamento del core WordPress

Se l’errore 502 e’ comparso dopo un aggiornamento di WordPress, potrebbe esserci un’incompatibilita’ con la versione PHP del server. Verifica che la versione PHP sia compatibile con la versione di WordPress installata e, se necessario, aggiorna PHP dal pannello di controllo del tuo hosting.

Se hai bisogno di assistenza specializzata per risolvere errori WordPress critici come il 502, il servizio SoccorsoWP di G Tech Group offre interventi rapidi da parte di tecnici esperti.

Come prevenire l’errore 502

Prevenire e’ sempre meglio che curare. Ecco le migliori pratiche per evitare che l’errore 502 Bad Gateway si presenti.

Monitoraggio proattivo del server

Implementa un sistema di monitoraggio che controlli costantemente lo stato dei servizi e ti avvisi immediatamente in caso di problemi. Strumenti come UptimeRobot, Hetrixtools o Nagios possono monitorare il tuo sito e inviarti notifiche via email, SMS o Telegram quando rilevano un downtime.

Configura anche il monitoraggio delle risorse di sistema (CPU, RAM, disco, connessioni) per individuare i colli di bottiglia prima che causino errori.

Risorse server adeguate

Se il tuo sito riceve un traffico significativo o esegue operazioni pesanti, assicurati che il server abbia risorse sufficienti. Un VPS (Virtual Private Server) offre risorse dedicate e scalabili, a differenza di un hosting condiviso dove le risorse sono limitate e condivise con altri siti.

Per siti ad alto traffico o applicazioni mission-critical, un server dedicato garantisce il massimo delle prestazioni e del controllo. G Tech Group offre soluzioni Cloud VPS ad alta disponibilita’ che assicurano uptime e ridondanza anche in caso di guasti hardware.

Configurazione ottimizzata di PHP-FPM

Una configurazione corretta del pool PHP-FPM e’ fondamentale per prevenire gli errori 502. Ecco i parametri chiave da ottimizzare:

# /etc/php/8.2/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500
request_terminate_timeout = 300

Il valore di pm.max_children dipende dalla RAM disponibile. Una formula approssimativa: dividi la RAM disponibile per il consumo medio di un processo PHP (tipicamente 30-50 MB). Ad esempio, con 4 GB di RAM dedicati a PHP: 4000 / 40 = 100 processi massimi.

Caching efficace

Implementa una strategia di caching a piu’ livelli per ridurre il carico sul server:

Un buon sistema di cache puo’ ridurre il carico sul server del 90% o piu’, rendendo molto improbabile un errore 502 causato da sovraccarico.

Aggiornamenti regolari

Mantieni aggiornati tutti i componenti del tuo stack: sistema operativo, web server, PHP, CMS, plugin e temi. Gli aggiornamenti includono spesso fix per bug che possono causare crash e, di conseguenza, errori 502. Esegui sempre un backup completo prima di ogni aggiornamento.

Configurazione corretta dei buffer Nginx

Header HTTP troppo grandi possono causare errori 502. Assicurati che i buffer di Nginx siano dimensionati correttamente:

# In nginx.conf o nel virtual host
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
large_client_header_buffers 4 32k;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;

Protezione da attacchi DDoS

Gli attacchi DDoS possono saturare le risorse del server e causare errori 502 a catena. Proteggi il tuo server con:

FAQ su Errore 502 Bad Gateway

L’errore 502 Bad Gateway e’ un problema del mio computer?

No, l’errore 502 e’ un problema lato server, non del tuo dispositivo. Indica che il server che ospita il sito ha un problema nella comunicazione interna tra i suoi componenti. L’unica cosa che puoi fare come visitatore e’ riprovare piu’ tardi o svuotare la cache del browser.

Quanto tempo dura un errore 502?

Dipende dalla causa. Un errore 502 causato da un picco di traffico momentaneo puo’ risolversi in pochi secondi. Un crash di PHP-FPM richiede un riavvio manuale, quindi puo’ durare da pochi minuti a diverse ore se nessuno interviene. Con un sistema di monitoraggio attivo e un team tecnico preparato, la risoluzione e’ in genere molto rapida.

L’errore 502 influisce sulla SEO?

Se l’errore e’ temporaneo (pochi minuti), Google lo considera un problema transitorio e non penalizza il sito. Tuttavia, se l’errore 502 persiste per ore o giorni, Google potrebbe declassare le pagine colpite nei risultati di ricerca. Googlebot interpreta gli errori 5xx come un segnale che il server non e’ affidabile, il che puo’ influire negativamente sul posizionamento.

Posso risolvere l’errore 502 senza accesso SSH?

Le opzioni sono limitate. Se sei su un hosting condiviso, puoi contattare il supporto tecnico del tuo provider. Se usi WordPress, puoi provare ad accedere via FTP per rinominare la cartella dei plugin o il file .htaccess. Per una risoluzione completa, pero’, l’accesso SSH e il controllo del server sono quasi sempre necessari.

Perche’ l’errore 502 compare solo su alcune pagine?

Se l’errore 502 si manifesta solo su pagine specifiche, il problema e’ probabilmente legato al codice di quelle pagine: uno script PHP che consuma troppa memoria, una query al database troppo pesante, o un plugin che genera errori solo in determinati contesti. Controlla i log di errore per individuare quale script sta causando il crash.

Cloudflare mostra errore 502: e’ colpa di Cloudflare?

Non necessariamente. Quando Cloudflare mostra un errore 502, di solito significa che Cloudflare funziona correttamente ma non riesce a raggiungere il tuo server di origine. Se la pagina di errore ha il logo Cloudflare e indica “Cloudflare is working”, il problema e’ sul tuo server. Se invece Cloudflare stesso e’ in difficolta’, lo vedrai sulla loro pagina di stato.

Come posso verificare se il mio server e’ down?

Puoi usare strumenti online gratuiti come “Down for Everyone or Just Me” (isitdownrightnow.com) per verificare se il sito e’ irraggiungibile a livello globale o solo dalla tua connessione. In alternativa, prova ad accedere da una rete diversa (ad esempio dal cellulare con dati mobili) o usa un servizio VPN.

Conclusione su Errore 502 Bad Gateway

L’errore 502 Bad Gateway e’ un problema serio ma risolvibile. Nella maggior parte dei casi, la causa e’ un servizio backend (come PHP-FPM) non raggiungibile, un timeout mal configurato o risorse server insufficienti. Seguendo la guida passo-passo che abbiamo illustrato, puoi diagnosticare e risolvere il problema in modo efficiente.

La prevenzione, tuttavia, e’ la strategia migliore. Un server adeguatamente dimensionato, un monitoraggio proattivo e una configurazione ottimizzata riducono drasticamente la probabilita’ di incontrare errori 502.

Se gestisci un sito WordPress e hai bisogno di un intervento immediato per risolvere un errore 502, il servizio SoccorsoWP di G Tech Group e’ la soluzione piu’ rapida: i nostri tecnici specializzati diagnosticano e risolvono il problema in tempi brevissimi.

Per chi cerca una soluzione infrastrutturale definitiva, le nostre soluzioni VPS, i server dedicati e i Cloud VPS ad alta disponibilita’ offrono le prestazioni e l’affidabilita’ necessarie per garantire che il tuo sito sia sempre online e raggiungibile.