Ti è mai successo durante la navigazione di trovarti davanti all’errore 504 gateway time-out e non sapere da cosa dipendeva?
In questa guida ti spiegherò cos’è l’errore, da cosa dipende e quali sono i metodi per risolverlo.
Ti mostrerò delle soluzioni che puoi seguire se stai vedendo l’errore come utente e altri metodi da usare se l’avviso di errore 504 si sta verificando sul tuo sito.
Iniziamo!
Table of Contents
504 gateway time-out: il significato dell’errore
Il 504 gateway time-out è un errore che fa parte dei codici di stato HTTP. Questo tipo di errori ci comunica cosa sta succedendo e ci permette di capire cosa ha interrotto il caricamento della pagina.
Questo errore fa parte dei codici di stato HTTP 5xx Server Error il che si traduce in un errore del server. Questo tipo di errori si presenta quando il server non riesce a portare a termine una richiesta, nonostante essa sia valida.
Su Wikipedia, gli errori che appartengono al gruppo 5xx vengono associati a questa causa principale: “Il server ha fallito nel soddisfare una richiesta apparentemente valida.”
Bisogna distinguerlo, quindi, dagli errori 4xx Client Error che coinvolgono, invece, richieste con errori di sintassi, o richieste che non possono essere soddisfatte. A questa categoria appartengono ad esempio l’errore 403, l’errore 404 e il 410 gone.
Ma concentriamoci sugli errori lato server. In questi rientra l’errore 502 bad gateway che si presenta quando il server che agisce da gateway (o proxy) riceve una risposta non valida.
Troviamo anche l’errore 503 che si verifica quando il server non è momentaneamente disponibile. La categoria degli errori lato server comprende anche l’errore 508. In questo caso si tratta di un avviso che ti comunica che sono stati superati i limiti delle risorse dell’account.E invece l’errore 504 gateway time-out cosa significa?
L’errore 504 gateway time-out coinvolge il server che fa da gateway e si verifica quando il server non riesce a ricevere una risposta entro un tempo limite.
Questo errore può presentarsi in diverse forme, perché dipende dalle impostazioni utilizzate dal sito web.
Ecco un esempio di come appare l’errore 504 gateway time-out su Chrome:
L’errore qui sopra si verifica nei siti che utilizzano la Cloudflare, in altri casi la schermata sarà leggermente diversa, ma riporterà sempre il messaggio “504 gateway time-out”.
Ci sono diversi modi per indicare questo errore, ecco alcuni dei più comuni:
- HTTP 504
- 504 Error
- Error 504
- 504 Gateway Time-out
- Gateway Timeout (504)
- Error 504 Gateway Time-out
- HTTP Error 504: Gateway Time-out
- 504 Time-out Gateway NGINX
- NGINX 504 Gateway Time-out.
In ognuno di questi casi il problema è sempre dovuto alla mancanza di una risposta da parte del server nel tempo massimo. Ma cosa causa l’errore 504 gateway time-out?
504 gateway time-out: le cause dell’errore
Abbiamo detto che l’errore 504 gateway timeout si riscontra quando c’è un problema di comunicazione tra il server intermediario e quello principale. Se il tempo per completare la richiesta è eccessivo, viene raggiunto il tempo limite e, di conseguenza, la comunicazione viene interrotta.
Quali sono le cause?
Il problema si verifica quindi per svariate ragioni. Può darsi che il server sia sovraccarico, che non funzioni correttamente o sia momentaneamente fuori servizio.
Il messaggio di errore non ci offre ulteriori informazioni sulle cause specifiche che lo determinano. Per questo motivo, spesso l’unico modo per individuare la causa dell’errore è cercare di risolverlo, escludendo le cause una ad una.
Prima di vedere come fare, vediamo nello specifico quali eventi possono causare l’errore.
Problemi più comuni che generano l’errore
Come abbiamo già accennato dietro all’errore 504 gateway time-out ci possono essere errori del server.
A generare l’errore, quindi, in molti casi è proprio l’infrastruttura stessa. Ad esempio il server può essere sovraccarico. Questo accade soprattutto quando il numero di utenti che cerca di accedere al sito cresce improvvisamente o in un intervallo di tempo ridotto.
In questi casi, le risorse a disposizione del server che funge da proxy non saranno necessarie a garantire una risposta pronta a tutte le richieste. Potresti quindi pensare di cambiare il tuo piano di hosting optando per uno che ti offra maggiori risorse o valutare l’ipotesi di cambiare hosting. Se scegli il nostro hosting condiviso potrai passare ad un piano con maggiori risorse in ogni momento.
In altri casi, invece, il sovraccarico può essere dovuto a degli attacchi DDoS che generano un numero di richieste elevate provocando l’errore.
Si può incorrere nello stesso problema anche quando la richiesta delle risorse deriva da un plugin o da un tema che hai installato su WordPress.
Anche un errore nel database può essere responsabile dell’errore 504 su WordPress.
A volte la causa dell’errore è giustificata, ad esempio se si sta eseguendo uno script che necessita di più tempo per portare a termine le sue funzioni. In questi casi può essere necessario modificare le impostazioni in modo da permettere allo script di funzionare anche se necessita di un tempo maggiore per farlo.
504 gateway time-out: come risolvere
Non sapendo quale sia la causa esatta di questo errore, l’unico modo di procedere è andare a esclusione esaminando una per una tutte le possibilità.
Per semplicità abbiamo suddiviso le soluzioni di questa guida in due categorie:
- quelle che puoi applicare lato utente (se il sito su cui si verifica l’errore non è tuo);
- le soluzioni che puoi provare sul tuo sito web.
Tieni comunque presente che nella maggior parte dei casi il problema è a livello di server, ci sono però dei controlli rapidi che puoi fare per escludere altre cause, vedere se si può aggirare l’errore e riuscire a visitare la pagina web.
Risolvere 504 gateway time-out soluzioni per utenti
Vediamo cosa puoi fare se il sito che cerchi di visitare presenta l’errore 504 gateway time-out.
Ricarica la pagina
Così come vale per altri errori, il primo tentativo che puoi fare è sempre quello di aspettare un po’ e poi ricaricare la pagina.
Indipendentemente dal browser che stai usando puoi utilizzare il tasto F5 per farlo su Windows e Command + R su Mac.
Riavviare modem e/o router
Alcune volte gli errori di rete possono essere dovuti al modem o al router che usi per collegarti alla rete. In questi casi ti basta riavviare i dispositivi per verificare se il problema si risolve.
Verificare il proxy
Se utilizzi un proxy e alcune impostazioni sono errate potresti incorrere in degli errori che ti impediscono di raggiungere le pagine web. Prova a disattivare il proxy e ricollegarti alla pagina.
Cambiare server DNS
Una mancata risoluzione degli indirizzi da parte dei server DNS può generare un 504 gateway time-out. In questo caso puoi provare a cambiare i server DNS e passare da quelli del tuo provider ai DNS pubblici. Puoi usare ad esempio quelli di Google o di Cloudflare.
Se non sai come fare puoi controllare la procedura passo passo su come impostare manualmente i server DNS su Windows 10 e da smartphone con Android.
Contattare provider
Se tutti i tentativi che hai fatto finora non hanno funzionato significa che l’errore http 504 non dipende da te. In questo caso puoi semplicemente aspettare e ricollegarti alla pagina in un momento successivo. Oppure puoi segnalare la presenza dell’errore ai gestori del sito web.
Risolvere 504 gateway time-out soluzioni per i proprietari del sito
Se riscontri l’errore 504 gateway time-out cercando di accedere al tuo sito web hai diverse opzioni per cercare di risolverlo.
Controllare il registro degli errori
Un modo immediato per individuare le cause di errore sul tuo sito WordPress è andare a controllare i registri di errore.
Se il tuo provider di servizi hosting utilizza cPanel puoi visualizzare gli errori dal pannello Metriche, facendo click su Errori, come vedi in questa schermata.
Se non puoi accedere direttamente ai registri di errore dal pannello di controllo puoi anche utilizzare la modalità di debug di WordPress. Per farlo ti basta modificare il file wp-config.php aggiungendo questo codice:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
Per attivare la modalità di debug di WordPress possiamo agire su queste tre variabili:
- WP_DEBUG: ci permette di attivare la modalità di debug (bisogna impostare la variabile su true).
- WP_DEBUG_LOG: serve a creare un registro dove verranno memorizzati gli errori rilevati.
- WP_DEBUG_DISPLAY: ci permette di mostrare gli errori a schermo.
Se queste righe sono già presenti, ti basterà modificarle per cambiare l’impostazione da “false” a “true”.
Così facendo verrà attivata la modalità di debug e verrà creato un file chiamato debug.log
nel quale saranno memorizzati gli errori registrati.
Il file verrà salvato nella cartella wp-content ti basta quindi accedere alla cartella e aprirlo per poterlo consultare. Puoi usare sempre il gestore dei file di cPanel o del pannello di controllo utilizzato dal tuo hosting. In alternativa puoi accedere ai file con il client FTP che preferisci.
Nota: dopo aver individuato l’errore, disattiva la modalità di debug reimpostando le variabili che abbiamo visto prima su “false”.
Disattivare la CDN
Nel caso tu stia utilizzando una CDN (Content Delivery Network) ovvero una rete per la consegna dei contenuti il problema potrebbe derivare dai server della CDN. In questo caso puoi provare a disattivare in via temporanea la CDN.
Verificare temi e plugin
Se hai un sito WordPress, anche un problema con temi e plugin può generare un errore 504 gateway time-out.
In alcuni casi disabilitare i plugin WordPress uno ad uno può aiutarci a identificare quali di questi sta causando l’errore. La stessa procedura vale anche per i temi WordPress.
Ci sono diversi modi per disattivare i plugin su WordPress. Se non riesci ad accedere alla dashboard ti basta accedere via FTP al server con un client come Filezilla o Cyberduck oppure utilizzare il file manager da cPanel.
In entrambi i casi la cartella che ci interessa si chiama plugins e la troverai in /public_html/wp-content/. Per disattivare tutti i plugin del sito ti basta semplicemente rinominare la cartella plugins usando un altro nome.
In alternativa puoi anche disattivare tutti i plugin utilizzando WP-CLI o dal database usando phpMyAdmin per WordPress come spiego nelle relative guide.In questo modo capirai se l’errore è dovuto ad uno dei plugin che stai usando.
Aumentare i limiti di timeout e il tempo di esecuzione degli script
Come abbiamo visto prima, un’altra causa dell’errore può essere uno script PHP. Alcuni script hanno bisogno di un tempo di esecuzione maggiore per poter funzionare. Soprattutto quelli utilizzati per la manutenzione del sito o quando si tratta di importare una quantità di dati elevata.
In questo caso per risolvere l’errore 504 gateway time-out ti basta modificare le impostazioni nel file php.ini. Il valore che dovrai modificare è proprio il tempo massimo di esecuzione, ovvero:
max_execution_time = 30
L’impostazione predefinita è di 30 secondi, ma a seconda delle tue necessità puoi modificare il valore in modo da consentire un tempo maggiore.
Oltre a modificare direttamente il file php.ini, se usi cPanel puoi anche utilizzare l’editor INI MultiPHP per cambiare il tempo massimo di esecuzione, come ti mostro qui:
Puoi anche modificare il limite di timeout, vale a dire il tempo massimo entro cui le richieste devono essere eseguite prima di generare un errore di timeout. Per fare questo tipo di modifiche devi avere un soluzione di hosting dedicata che ti permetta di modificare la configurazione del web server, altrimenti dovrai rivolgerti al tuo provider.
Con Apache puoi farlo modificando le impostazioni del file di configurazione del server HTTP ovvero httpd.conf. Il valore che devi modificare è quello accanto alla voce TimeOut.
Con Nginx invece dovrai modificare le impostazioni di timeout dal file di configurazione, generalmente nginx.conf. Non specifico il percorso del file di configurazione perché varia in base alla tua installazione.
I valori da modificare sono quelli relativi al timeout, quindi troverai proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout e send_timeout. Se queste direttive non fossero presenti puoi sempre aggiungerle tu stesso in questo modo:
proxy_read_timeout 300; proxy_connect_timeout 300; proxy_send_timeout 300; send_timeout 300;
Così facendo il timeout sarà impostato a 300 secondi, ma naturalmente puoi impostare il valore che preferisci in base alle tue necessità. Dopo aver finito dovrai riavviare nginx per rendere effettive le modifiche.
Contattare l’assistenza
Se non sei riuscito a risolvere il problema in autonomia, puoi rivolgerti al servizio di assistenza clienti del tuo hosting. Se sei cliente di SupportHost puoi aprire un ticket e il nostro team di tecnici ti aiuterà a risolvere.
Conclusioni
L’errore 504 gateway time-out può essere davvero snervante, soprattutto perché non dà molte informazioni su quale possa essere la causa.
Visto che non sappiamo con certezza cosa stia generando l’errore, la soluzione consiste nell’escludere una alla volta le possibili cause.
Abbiamo perciò esaminato i possibili modi per risolvere sia se l’errore si sta verificando su un sito che cerchi di visitare, sia nel caso in cui si presenti su un tuo sito.
Questa guida ti è stata utile per risolvere? Quale soluzione ha funzionato nel tuo caso? Lascia un commento per farcelo sapere.
Ultimo aggiornamento con informazioni più dettagliate su come risolvere l’errore 504, il 29 maggio 2023.
Lascia un commento