Il codice errrore 504 Gateway Timeout è uno dei codici HTTP di stato che un server invia quando non è stato in grado di completare una richiesta. Sebbene sia meno frequente dei 500 internal server error o dei 502 bad gateway error, tutti lo hanno riscontrato qualche volta durante la navigazione in Internet.

Questa guida si concentra sul codice HTTP 504 Gateway Timeout erroe e come risolverlo in WordPress.

Quando visiti un sito web, genera richieste e le invia a server web che contengono gli elementi richiesti. Ogni volta che viene gestita una richiesta, il web server restituisce un codice di stato HTTP con le risorse richieste.

Per impostazione predefinita, il codice di stato HTTP non viene visualizzato a meno che qualcosa non sia andato storto nel processo.

Cos’è il codice errore 504 Gateway Timeout?

I codici di stato HTTP che iniziano con la cifra “5” sono errori sul lato server. Vengono visualizzati ogni volta che è impossibile completare una richiesta a causa di una comunicazione errata tra più server.

L’ errore 504 Gateway Timeout è un codice di stato HTTP che viene visualizzato quando un server non riceve una risposta tempestiva da un altro server che funge da gateway o proxy.

In breve, significa che il web server non è stato in grado di completare la richiesta entro l’intervallo di tempo specificato.

errore 504 gateway timeout del gateway visualizzato come errore HTTP 504

Il codice errore 504 Gateway Timeout può avere diverse forme, ad esempio:

504 Gateway Timeout nginx
Gateway Timeout Error
HTTP Error 504
504 Gateway Time-out – The server didn’t respond in time
HTTP Error 504 – Gateway Timeout

Come risolvere l’errore HTTP 504 Gateway Timeout

Nella maggior parte dei casi la causa degli errori 504 gateway timeout provengono lato server ma a volte possono apparire anche a causa di problemi o configurazioni errate lato utente.

Pertanto, eseguiremo i passaggi di base per la risoluzione dei problemi su entrambe le cause.

Parte delle soluzioni sono adatte per WordPress, ma la maggior parte di esse può essere applicata a qualsiasi sito web.

1. Aggiorna la pagina

Il primo passo per risolvere l’errore HTTP 504 gateway timeout è il più semplice. Aspetta un paio di minuti e aggiorna la pagina. È possibile che il web server stia ricevendo più richieste del solito in quel momento e non sia in grado di gestirne di più.

Durante l’attesa, è possibile utilizzare uno strumento online per verificare se il sito non è attivo . È un ottimo modo per avere la conferma che il problema è legato alla rete locale.

2. Prova un altro browser o la modalità di navigazione in incognito

Nel caso in cui il sito web sia attivo, ma visualizzi ancora l’errore di gateway timeout, prova a cambiare browser.

La cancellazione della cache del browser o l’utilizzo della modalità di navigazione in incognito possono aiutare a verificare se il problema è correlato relativo al browser.

3. Svuota i DNS

Il 504 gateway timeout error a volte può essere il risultato di una cache DNS errata o obsoleta. Il modo di cancellarla varia a seconda del sistema operativo.

Ecco un tutorial su come svuotare i DNS su Windows, Linux e Mac OS.

Il passaggio temporaneo del server DNS a Google Public DNS può farti escludere che il codice di stato HTTP 504 appare a causa di un problema DNS. Raccomandiamo principalmente questa opzione ad utenti esperti.

4. Testa con diversi dispositivi

Prova a caricare il sito web su un altro computer, connessione di rete o telefono cellulare.

Nel caso in cui nessuna delle soluzioni precedenti abbia risolto l’errore 504 gateway timeout, questo passaggio può aiutarti a capire se l’errore è legato alla tua macchina o al server.

5. Controlla il registro degli errori

L’errore HTTP 504 può anche essere causa di recenti modifiche o aggiornamenti del sito web. Il modo più rapido per scoprirlo è controllare il registro degli errori per cercare eventuali indizi.

Gli utenti di WordPress possono abilitare la registrazione dei messaggi di errore (modalità debug) aggiungendo le seguenti righe al file wp-config.php :

define( 'WP_DEBUG', true ); 
define( 'WP_DEBUG_LOG', true ); 
define( 'WP_DEBUG_DISPLAY', false );

Una volta fatto, tutte le voci generate appariranno nel file wp-contents/debug.log .

File di registro degli errori di WordPress

6. Controlla i plugin

Durante la risoluzione di un errore HTTP 504, è consigliabile consultare i plugin e le estensioni del sito web in questione.

In WordPress, i plugin di caching, plugin obsoleti o incompatibili possono causare l’errore 504 gateway timeout. Disabilitandoli temporaneamente ti aiuterà a capire se stai cercando nel posto giusto.

Per disabilitare tutti i plugin di WordPress, accedi alla directory wp-content e assegna un nome diverso alla cartella dei plugin (nel nostro esempio plugin.disabilitati).

Disabilitare tutti i plugin di WordPress tramite Cpanel

Se il tuo sito funziona correttamente quando tutti i plugin sono disattivati, il passaggio successivo sarebbe individuare quale causa l’errore HTTP 504.

Rinomina la directory dei plugin con il nome originale e questa volta prova a disabilitarli singolarmente.

Disabilitazione dei plugin di WordPress uno per uno

7. Controlla la CDN

Se stai utilizzando una CDN per pubblicare contenuti più velocemente, dovresti controllare che tutto sia ok. Una delle soluzioni utilizzate più frequentemente è CloudFlare, che funge sia da CDN che da servizio di mitigazione DDoS.

Durante l’utilizzo, è possibile riscontrare due versioni del codice errore 504 gateway timeout.

Errore HTTP 504 gateway Timeout in CloudFlare - versione 1

Questa  versione dell’errore HTTP 504 appare quando il problema è da parte di CloudFlare. L’approccio migliore è contattare l’assistenza CloudFlare o disabilitarla completamente.

Se decidi di disattivarla potrebbe essere necessario attendere un paio d’ore per la propagazione dei DNS.

Errore HTTP 504 gateway Timeout in CloudFlare - versione 2

La versione qui sopra indica invece che il problema riguarda l’attuale provider di web hosting.

8. Modifica le impostazioni del web server

Se stai utilizzando un hosting VPS , ci sono alcune cose extra che puoi provare per risolvere l’errore 504 gateway timeout : modificare le impostazioni del web server e aumentare i limiti di risorse specifiche.

Apache

Gli utenti Apache possono aumentare il valore di timeout predefinito nel file httpd.conf . Per esempio:

# Timeout: The number of seconds before receives and sends time out.
Timeout 600

Anche aumentare il limite di max_execution_time nel php.ini può portare a risultati positivi:

max_execution_time 300

Salvare le modifiche, riavviare apache e ricontrollare. L’errore 504 gateway timeout dovrebbe essere scomparso se la causa era un valore insufficiente della richiesta di timeout.

nginx
Se il tuo VPS utilizza Nginx, prova ad aumentare i seguenti valori in /etc/nginx/conf.d/timeout.conf :

proxy_connect_timeout 600; 
proxy_send_timeout 600; 
proxy_read_timeout 600; 
send_timeout 600;

Si consiglia inoltre di aumentare il max_execution_time nel php.ini :

max_execution_time 300

Una volta salvate le modifiche, riavvia Nginx e prova a ricaricare nuovamente il sito web.

9. Contatta l’assistenza clienti

Nel caso in cui l’errore 504 gateway timeout persista dopo aver seguito tutte le soluzioni di cui sopra, è consigliabile contattare il personale di supporto del tuo hosting web.

Prova a descrivere quali passaggi hai intrapreso per risolvere il problema e fornire quante più informazioni possibili per accelerare il processo.