In questo articolo spiegheremo cosa significa errore 502 Bad Gateway. Vedremo, attraverso un semplice esempio, cosa succede nel nostro browser quando si verifica l’errore 502 e indicheremo quali sono alcune delle cause dell’errore HTTP 502 e delle possibili soluzioni.
Indice
Come si presenta l’Errore 502 Bad Gateway
L’errore 502 viene mostrato, nel browser dell’utente, in differenti forme visto che la pagina di errore può essere personalizzata. Nel caso più comune (quando, cioè, non è stata predisposta una pagina di errore 502 personalizzata) l’utente visualizzerà un messaggio del tipo Error 502 – Bad Gateway.
E’ anche importante segnalare che questo errore può presentarsi con diverse diciture, tra cui:
- Error 502
- 502 Bad Gateway
- 502 Proxy Error
- HTTP Error 502 – Bad Gateway
- 502 Service Temporarily Overloaded
- 502 Bad Gateway registered endpoint failed to handle the request
- 502 Server Error: The server encountered a temporary error and could not complete your request
- HTTP 502
Può anche capitare che questo errore si presenti, semplicemente, come una pagina completemante bianca.
Cos’è l’Errore 502 e perché si verifica
Il codice di errore 502 fa parte della categoria dei codici di stato HTTP 5xx (Server Error), ovvero della classe di errori che si riscontrano quando il server non riesce a rispondere correttamente a una richiesta ricevuta.
Ma cosa vuole dire 502 – Bad Gateway? E per quale motivo si verifica questo errore?
Per rispondere a queste domande bisogna prima fare una premessa: nello schema tipco e più banale, quando vogliamo visualizzare una risorsa online, il nostro browser invia direttamente una richiesta al server web che ospita tale risorsa. Nel web moderno, tuttavia, questo modello è sempre più raro: molto spesso, infatti, tra il browser ed il server web che ospita una data risorsa, si frappone un altro server che funge da gateway (in italiano “porta d’accesso”).
L’errore 502 si verifica, appunto, quando il browser dell’utente (client) non ha accesso diretto ai server che ospitano la risorsa (server upstream), ma solo attraverso l’intermediazione di altri server che fungono da proxy, o per essere più precisi da reverse proxy, i quali ricevono le richieste dal client e le inoltrano ai server che ospitano le applicazioni web. Questi ultimi inviano quindi una risposta ai server proxy che a loro volta provvedono a recapitarla al client.
Un Errore 502 Bad Gateway indica che il server che funge da proxy non è stato in grado di ottenere una risposta dal server di origine (server upstream). L’errore 502 si verifica anche nel caso in cui vengono utilizzati i server di una CDN (Content Delivery Network) e questi ultimi non riescono a comunicare con il server remoto che ospita la nostra applicazione web.
Vediamo, di seguito, la schermata tipica dell’errore 502 per i siti web che sfruttano la protezione di CloudFlare.
Quando si presenta l’errore HTTP 502 (Bad Gateway), il browser visualizza una pagina di errore e l’header del messaggio HTTP ricevuto viene opportunamente settato. Nel caso specifico viene usato il campo Status Code che avrà come valore 502 Bad Gateway.
Cause comuni dell’errore 502
Alcune delle possibili cause da cui scaturisce l’errore 502 sono le seguenti:
- Server upstream non funzionante o non raggiungibile (ad esempio a causa di un down del sistema)
- Saturazione delle risorse di sistema disponibili (il server non risponde o è troppo lento perché sovraccarico)
- Errori nel codice di programmazione del sito web
- Errori nella configurazione dei server
- Errori di comunicazione fra server upstream e reverse proxy
- Errata configurazione della CDN
Come risolvere 502 Bad Gateway sul nostro sito
Nel caso in cui si abbia accesso ai server di un sito internet che mostra un Errore 502 Bad Gateway, dovremo cercare di individuare qual è il problema che genera un simile errore. A tal proposito i file di log ci danno una grande mano per determinare quali sono le possibili cause dell’errore 502 anche se non è sempre facile capire qual’è il punto in cui si verifica l’errore.
La prima cosa da fare è utilizzare strumenti come ping e traceroute per controllare se i nostri server sono raggiungibili o meno. Un altro utile test è utilizzare servizi come down.com coi quali è possibile verificare se un dato sito web non è raggiungibile per tutti o solo dalla nostra postazione (in quest’ultimo caso, evidentemente, il problema sarà da cercare localmente).
Nel caso in cui l’errore sia generalizzato è opportuno verificare:
- che il server upstream risponda correttamente, non ci siamo cioè errori nel codice che impediscano il caricamento della risorsa oppure dei problemi di saturazione delle risorse di sistema che comportino un eccessiva lentezza nei tempi di risposta;
- che il server upstream riesca a comunicare con il reverse proxy e che eventuali configurazioni di firewall non impediscano la comunicazione;
- nel caso si utilizzino CDN, che queste siano configurate correttamente;
Come aggirare l’errore 502 Bad Gateway quando si visita un sito altrui
Come abbiamo visto l’errore 502 è causato da problemi che si verificano sui server sui quali l’utente non ha modo di agire direttamente. Se al posto di una pagina che si vuole visitare viene mostrato un messaggio di errore 502, è comunque possibile provare ad “aggirare” l’errore 502 Bad Gateway in uno dei modi che descriveremo a breve, essendo comunque consapevoli che potrebbero comunque non funzionare.
In ogni modo, se non dovessimo riuscire a visualizzare il sito a cui siamo interessati, possiamo in alternativa provare ad accedere all’ultima versione salvata nella cache di motori di ricerca come Google e Bing o presente nell’archivio di Wayback Machine così come abbiamo illustrato nell’articolo che spiega cos’è e come risolvere l’errore 404.
Vediamo quindi alcuni modi per provare ad aggirare l’errore 502 Bad Gateway:
- è possibile eseguire un hard-refresh nel browser che non solo aggiorna la pagina corrente, ma è anche un modo per svuotare la cache del browser per quella pagina. Viene così caricata la versione più recente della pagina stessa. In alternativa si può comunque svuotare la cache e cancellare i cookie per assicurarsi che il browser non continui a mostrare dei contenuti salvati in cache nel momento in cui un sito web, che si intende visitare, mostrava l’errore 502. A seconda del sistema operativo e del browser, il procedimento da eseguire cambia, ma è facile trovare in che modo eseguire un hard-refresh facendo una semplice ricerca su Google.
- nel caso in cui il problema sia riconducibile a un errore che si verifica durante il processo di risoluzione dei nomi a dominio in indirizzi IP, si può tentare di cambiare i server DNS o svuotare la cache DNS del proprio dispositivo tenendo presente che, se ci sono state variazioni dei record DNS, è necessario attendere che le modifiche vengano propagate completamente (a) seconda del valore del TTL (Time to Live) dei record DNS, può capitare di dover attendere diverse ore).
- come ultima alternativa è sempre possibile contattare i gestori del sito per segnalare il problema riscontrato.
Riepilogo
In questo articolo abbiamo spiegato cos’è l’errore 502 Bad Gateway, in quali casi si verifica e quali sono le cause più comuni che generano tale errore. Abbiamo quindi visto in che modo risolvere l’errore 502 nel caso in cui si ha accesso ai server che ospitano un sito internet e come provare ad aggirarlo quando visualizziamo l’errore 502 visitando un altro sito internet.