Nel ri­chia­ma­re un sito con il vostro browser, il server web è so­li­ta­men­te solo l’ultimo anello di un’intera catena di sistemi co­mu­ni­ca­ti­vi che viene attivato durante l’ela­bo­ra­zio­ne delle richieste HTTP inviate. I gateway e i server proxy regolano il rein­di­riz­za­men­to e quindi l’ela­bo­ra­zio­ne della richiesta, in modo così da al­leg­ge­ri­re il carico per il server web e per as­si­cu­ra­re una tra­smis­sio­ne dei dati il più veloce possibile.

Prima di arrivare al server che si desidera con­tat­ta­re vengono attivate sempre diverse stazioni di co­mu­ni­ca­zio­ne, ovvero i gateway; un processo che risulta pratico e fun­zio­na­le. Se viene a mancare uno dei sistemi preposti, questo potrebbe portare al fal­li­men­to della richiesta. A questo punto il browser vi mostrerà un messaggio di errore invece che la pagina de­si­de­ra­ta: “HTTP Error 504” o “Gateway Timeout”.

Cosa si nasconda dietro questo tipo di co­mu­ni­ca­zio­ne lato server e come possa essere risolta (sia da lato client, e quindi come utente, sia da gestore del sito web), ve lo spie­ghia­mo in questo articolo della nostra guida digitale.

HTTP 504: da dove deriva questo codice di stato del Hypertext Transfer Protocol

Il Hypertext Transfer Protocol è uno dei più im­por­tan­ti pro­to­col­li per la tra­smis­sio­ne di contenuti web. Agendo sul livello ap­pli­ca­ti­vo permette la co­mu­ni­ca­zio­ne tra il client, che la maggior parte delle volte cor­ri­spon­de al browser, e il server web del caso, all’interno del quale è ar­chi­via­to il contenuto de­si­de­ra­to. L’HTTP trasmette a questo scopo l’ipertesto del sito web che il software client può tra­sfor­ma­re a suo volta in testi, immagini e quant’altro. Lo scambio funziona tramite messaggi: tutto parte dal client che sottopone una richiesta HTTP. Il server invia una risposta ac­com­pa­gna­ta da un codice di stato, il quale si occupa di informare ad esempio dell’avvenuto successo dell’ela­bo­ra­zio­ne della richiesta (HTTP 200) o, come nel caso dell’errore 504, di un tentativo fallito.

La risposta HTTP 504 comunica al client che l’in­suc­ces­so è dovuto al fatto che è scaduto il tempo per l’ela­bo­ra­zio­ne della richiesta, perciò il messaggio riporta anche la clas­si­fi­ca­zio­ne “Gateway Timeout”. Il mittente del messaggio è il server all’interno di questa catena di co­mu­ni­ca­zio­ne, il quale non è stato in grado di ot­tem­pe­ra­re il proprio ruolo come gateway o proxy poiché a sua volta non ha ottenuto alcuna risposta entro il tempo massimo da parte del prossimo server o service. Come venga mostrato il messaggio d’errore all’interno della finestra del browser, lo può decidere il gestore del sito web. Spesso i messaggi di errore 504 uti­liz­za­ti sono i seguenti:

  • HTTP 504
  • HTTP Error 504: Gateway Timeout
  • Gateway Timeout (504)
  • Gateway Timeout Error
  • 504 Gateway Timeout
  • 504 Error
  • Error 504 Gateway Timeout

Come si arriva a un 504 Gateway Timeout?

La co­mu­ni­ca­zio­ne di errore HTTP 504 compare sempre quando un server in­ter­me­dia­rio o una com­po­nen­te della rete non è in grado di ri­spon­de­re a una richiesta di un browser o client in un de­ter­mi­na­to lasso di tempo. Come già accennato questo risulta dal fatto che il sistema in questione non abbia ricevuto a sua volta una risposta dal membro suc­ces­si­vo di questa catena. I motivi per i quali questo possa accadere sono svariati:

  • Il server proxy o il router nella rete locale, sul quale fa af­fi­da­men­to l’utente, sono so­vrac­ca­ri­ca­ti e quindi vanno in blocco e non fun­zio­na­no più. In questo caso l’errore 504 si limita raramente a un singolo progetto web, è bensì più probabile che comparirà anche tentando di ri­chia­ma­re altre pagine.
  • Il sito web ri­chia­ma­to si affida ad un server proxy per l’ot­ti­miz­za­zio­ne delle proprie per­for­man­ce, che però è so­vrac­ca­ri­ca­to e quindi bloccato e perciò non può più essere raggiunto dagli altri elementi della catena, ri­sul­tan­do perciò nuo­va­men­te in un Gateway Timeout.
  • Delle im­po­sta­zio­ni sbagliate del proxy, sia da lato client sia da lato server, po­treb­be­ro in egual modo essere re­spon­sa­bi­li della comparsa del messaggio di errore HTTP 504.
  • Il problema riguarda uno o più server di un provider di servizi Internet (IPS) o di un’azienda. L’im­pos­si­bi­li­tà di essere raggiunti/o ha a che fare con le im­po­sta­zio­ni del router o del proxy del browser dell’utente o del gestore del sito web.

504 Gateway Timeout: ri­so­lu­zio­ne del problema

Quando il sito ri­chia­ma­to non si carica e compare al suo posto un messaggio di errore 504, è un qualcosa di par­ti­co­lar­men­te fa­sti­dio­so per ogni utente. E se per un motivo o per un altro avete par­ti­co­la­re necessità di vi­sua­liz­zar­lo, più tempo sarà ne­ces­sa­rio per la ri­so­lu­zio­ne del problema, più ve­lo­ce­men­te il fastidio si tra­sfor­me­rà in fru­stra­zio­ne. In par­ti­co­la­re se lavorate con un’ap­pli­ca­zio­ne cloud e non avete pronta a di­spo­si­zio­ne alcuna variante offline, siete costretti a ricorrere ad una soluzione vicina nel tempo.

Ma anche se siete voi stessi ad essere re­spon­sa­bi­li di un progetto web che risulta ir­rag­giun­gi­bi­le per i vostri utenti a causa di problemi legati al Gateway Timeout, il discorso rimane lo stesso. Una reazione veloce è im­por­tan­te per riuscire a limitare la perdita di traffico sul vostro sito web e la con­se­guen­te perdita economica.

504 Gateway Timeout: le possibili soluzioni per gli utenti

Se vi imbattete in un errore HTTP 504 durante le vostre attività sul web, potete stare certi che lo scenario che viene a crearsi non è in­ten­zio­na­le, come è invece per il codice di stato 503 che cor­ri­spon­de a dei lavori di ma­nu­ten­zio­ne. Il Gateway Timeout è quasi sempre un problema legato al server del gestore del sito web o ad­di­rit­tu­ra del provider. Tuttavia come alluso pre­ce­den­te­men­te è comunque possibile che il vostro router o che un server proxy da voi uti­liz­za­to sia im­pu­ta­bi­le per la comparsa della co­mu­ni­ca­zio­ne d’errore. Per questo motivo avete diverse pos­si­bi­li­tà per tentare di risolvere il problema HTTP 504:

Soluzione n.1: provare a ri­chia­ma­re nuo­va­men­te l’ap­pli­ca­zio­ne web in questione

Nella maggior parte dei casi l’errore 504 compare solo per un de­li­mi­ta­to periodo di tempo. Un’opzione veloce e facile per risolvere il 504 Gateway Timeout consiste perciò nel ri­chia­ma­re nuo­va­men­te il sito web in oggetto. Per questo motivo basta un clic sul tasto apposito nel vostro browser nella barra degli indirizzi, o al suo fianco. Al­ter­na­ti­va­men­te potete anche premere il tasto [F5] della vostra tastiera o la com­bi­na­zio­ne di tasti [CTRL] + [R], o rein­se­ren­do di­ret­ta­men­te l’URL.

Soluzione n.2: riavviate tutti i di­spo­si­ti­vi di rete

Nel caso in cui il timeout sia da ri­con­dur­re alla vostra rete di casa, potete risolvere il problema riav­vian­do i vostri di­spo­si­ti­vi di rete. È possibile che il vostro modem, router e quant’altro siano sem­pli­ce­men­te con­fi­gu­ra­ti male o che per altri motivi non fun­zio­ni­no più come do­vreb­be­ro e che per questo motivo non siano più in grado di elaborare la richiesta HTTP del browser nel tempo pre­sta­bi­li­to. Un segnale tipico che si tratti di un problema con i propri di­spo­si­ti­vi è il fatto che la co­mu­ni­ca­zio­ne d’errore HTTP 504 non compare solamente con un sito specifico, ma anche con altri.

Soluzione n.3: ve­ri­fi­ca­re le im­po­sta­zio­ni del server proxy

Se uti­liz­za­te un server proxy per le vostre attività online allora dovreste ve­ri­fi­ca­re as­so­lu­ta­men­te la sua con­fi­gu­ra­zio­ne, nel caso in cui l’errore 504 non si sia risolto re­fre­shan­do la pagina o riav­vian­do il router. Da un lato può essere che la con­fi­gu­ra­zio­ne sia difettosa, dall’altra potrebbe essere tra le altre cose ne­ces­sa­rio scegliere un altro proxy, poiché il server uti­liz­za­to fino ad ora non è più di­spo­ni­bi­le o ha ri­scon­tra­to problemi tecnici, anche se così facendo potrebbe capitare che ci si imbatta in co­mu­ni­ca­zio­ni interne come “server proxy non risponde” o “con­nes­sio­ne rifiutata dal server proxy”. Nella nostra guida scoprite come si possano adeguare le im­po­sta­zio­ni proxy di­ret­ta­men­te nel browser.

Soluzione n.4: cambiare il server DNS

Anche i server DNS uti­liz­za­ti dal router possono essere re­spon­sa­bi­li del 504 Gateway Timeout. Il vostro provider vi at­tri­bui­sce di­ret­ta­men­te un server primario e uno se­con­da­rio ogni volta che vi collegate a Internet; tuttavia avete anche la pos­si­bi­li­tà di scegliere per­so­nal­men­te la ri­so­lu­zio­ne dei nomi. Il successo di entrambe queste opzioni non è garantito al cento per cento, rimane tuttavia possibile che avvenga un timeout mentre si tenta di mettersi in contatto con il server DNS. In un simile scenario può rap­pre­sen­ta­re la soluzione ottimale quella di cambiare per un altro server DNS libero e pubblico. Nella Digital Guide scoprite quali sono i passaggi necessari da compiere per poter cambiare il server DNS.

Soluzione n.5: con­tat­ta­re il gestore delle pagine e/o il provider

Chi non riesce a risolvere il problema mettendo mano ai propri hardware e software dovrebbe ri­vol­ger­si allora al gestore del sito web o all’am­mi­ni­stra­to­re re­spon­sa­bi­le. Se la causa dell’errore HTTP 504 è da ri­con­dur­re al progetto web, in questo modo sco­pri­re­te subito a che cosa è dovuto il problema e quando è previsto che il sito web torni a di­spo­si­zio­ne. Se invece l’errore riguarda solo voi o un de­ter­mi­na­to numero di utenti, allora questo è un segno che molto pro­ba­bil­men­te si tratti di un server del vostro Internet Service Provider ad essere in­te­res­sa­to. In questo caso non vi rimane alcuna scelta che mettervi in contatto con loro.

Consiglio

Se il sito web al quale state cercando di accedere è molto co­no­sciu­to e visitato, allora potrebbe tornarvi utile una visita ad un social network come Twitter. In queste piat­ta­for­me social le aziende tengono di solito informati i propri utenti nel caso in cui dovessero imbattere in un problema; scoprendo così se anche altri utenti abbiano ri­scon­tra­to lo stesso problema o meno. In questo caso gli hashtag come #web­si­te­do­wn, ad esempio #fa­ce­boo­k­do­wn, vanno per la maggiore.

Soluzione n.6: tornare a visitare il sito web a distanza di tempo

Non ha im­por­tan­za quale server della catena di co­mu­ni­ca­zio­ne sia quello in­te­res­sa­to e per quale motivo esso non sia in grado di far avanzare la richiesta: alcune con­tro­mi­su­re come quelle so­prae­len­ca­te a volte non sono suf­fi­cien­ti a risolvere il problema, e non rimane perciò che attendere fino a quando il gestore del sito web o il cor­ri­spet­ti­vo provider non avrà risolto il problema. Se il sito web continua a mostrare l’errore per un tempo pro­lun­ga­to o a in­ter­val­li regolari, allora è cosa saggia quella di mettersi l’animo in pace e rimandare la visita a un secondo momento.

Errore 504: le possibili soluzioni per i gestori dei siti web

In quanto gestori di un progetto web volete chia­ra­men­te offrire ai vostri vi­si­ta­to­ri il miglior contenuto e una facilità di utilizzo migliori possibili, e, ancora, anche una elevata ac­ces­si­bi­li­tà del sito web. Un ambiente di hosting stabile e la pro­te­zio­ne dai malware, dallo spam e da compagnia bella sono perciò tanto im­por­tan­ti quanto una reazione veloce nel momento in cui dovessero so­prag­giun­ge­re dei problemi tecnici come ad esempio il 504 Gateway Timeout. Inoltre è im­por­tan­te anche ri­co­no­sce­re l’errore nel minor tempo possibile e iniziare a indagarne le cause e a cercare una soluzione adeguata senza perdere tempo.

Soluzione n.1: aumentare le risorse a di­spo­si­zio­ne del proxy server

In molti casi è proprio il server proxy la causa dell’errore HTTP 504. Se decidete di uti­liz­za­re comunque un proxy per il vostro sito web per al­leg­ge­ri­re il carico sul server web, questo potrebbe però appunto portare ad un Gateway Timeout. Questa even­tua­li­tà è solita capitare so­prat­tut­to quando il progetto cresce in maniera decisa in breve tempo e il numero di vi­si­ta­to­ri schizza alle stelle: il proxy si troverà allora privo di quelle risorse ne­ces­sa­rie per l’ela­bo­ra­zio­ne delle richieste HTTP. Lo stesso vale per i picchi di carico episodici, che sono da ri­con­dur­re a dei par­ti­co­la­ri periodi o eventi sta­gio­na­li, quali possono essere ad esempio gli acquisti di natale. Se quindi i vostri vi­si­ta­to­ri sono aumentati, e il messaggio d’errore 504 compare quando si tenta di ri­chia­ma­re il sito web nei momenti durante i quali il traffico è più con­cen­tra­to, questo è allora un chiaro segno di so­vrac­ca­ri­co del server proxy. La soluzione consiste nell’ac­qui­sta­re risorse hardware ag­giun­ti­ve o ri­chie­der­le al vostro provider. Meglio ancora sarebbe prov­ve­der­vi pre­ven­ti­va­men­te, così da non incappare mai in un timeout a causa di un capacità di calcolo non adeguata. Tutto ciò risulta par­ti­co­lar­men­te facile se decidete di affidarvi ad una soluzione fles­si­bi­le sin dall’inizio come il cloud hosting. Così facendo dotate il vostro server proxy in maniera duratura o tem­po­ra­nea di maggior potenza, met­ten­do­lo nella con­di­zio­ne di elaborare tutte le richieste HTTP in entrata senza problemi e so­prat­tut­to senza dover incappare in errori 504.

Soluzione n.2: ag­giu­sta­re le im­po­sta­zio­ni del server proxy

Non tutti i problemi relativi al server proxy hanno a che fare con la mancanza di risorse. È infatti egual­men­te possibile che questo sia sem­pli­ce­men­te mal con­fi­gu­ra­to e che per questo motivo le richieste del client non fun­zio­ni­no come de­si­de­ra­to. Perciò l’errore 504 Gateway Timeout dei server proxy NGINX, da ri­con­dur­re alle con­fi­gu­ra­zio­ni, è ad esempio un problema spesso ri­cor­ren­te. Ma proprio per questo risulta ri­sol­vi­bi­le nella maggior parte dei casi at­tra­ver­so dei piccoli ac­cor­gi­men­ti nei file di con­fi­gu­ra­zio­ne. Nel caso di NGINX aprite sem­pli­ce­men­te il file nginx.conf e ag­giun­ge­te le seguenti righe:

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

Un’in­sor­gen­za dell’errore HTTP 504 è al­tret­tan­to possibile se uti­liz­za­te NGINX in com­bi­na­zio­ne con FastCGI (php-gpm). Ma anche in questo caso vi ba­ste­ran­no un paio di modifiche per liberarvi del problema: aumentate per prima cosa il valore di “max_execution_time” nel file fpm/php.ini e importate questo valore anche nella variabile “request_terminate_timeout” nel file fpm/pool.d/www.conf. Una volta fatto, cercate nel file nginx.conf il blocco “location ~ \.php$” e ag­giun­ge­te la seguente riga:

fastcgi_read_timeout 300;

Entrambe le soluzioni ri­chie­do­no un riavvio di NGINX per risolvere il problema relativo al 504 Gateway Timeout, per­met­ten­do così di rendere effettive le modifiche apportate:

service nginx reload

Soluzione n.3: verifica del Content Ma­na­ge­ment System e del database

Non sempre la causa di un 504 Gateway Timeout è da ri­con­dur­re ne­ces­sa­ria­men­te al software del server. L’eccedenza del tempo per l’ela­bo­ra­zio­ne HTTP può anche essere dovuta ai Content Ma­na­ge­ment System, ai database o ad altre ap­pli­ca­zio­ni server mal­fun­zio­nan­ti. Se i vostri vi­si­ta­to­ri devono avere a che fare con notifiche di errore, allora sarebbe da con­si­de­ra­re la pos­si­bi­li­tà che ci siano dei mal­fun­zio­na­men­ti nei sistemi. Infatti anche nel caso dei server proxy la causa più comune è proprio quella legata a delle con­fi­gu­ra­zio­ni ina­de­gua­te, che vanno trovate e sistemate. Un’ulteriore pos­si­bi­li­tà, con­cer­nen­te i CMS, è quella legata all’utilizzo di un plug-in difettoso o superato, che dovete quindi di­sat­ti­va­re o ag­gior­na­re.

Consiglio

Per pro­teg­ger­vi al meglio dall’errore 504 dovreste eseguire re­go­lar­men­te dei back-up di tutti i vostri database e CMS e in­stal­la­re pron­ta­men­te gli ag­gior­na­men­ti pub­bli­ca­ti. Nella scelta dell’esten­sio­ne sono da tenere in con­si­de­ra­zio­ne fattori come l’attualità (nel senso di quanto recente sia l’ultimo ag­gior­na­men­to), l’af­fi­da­bi­li­tà e la com­pa­ti­bi­li­tà. Inoltre è con­si­glia­bi­le non esagerare con i plug-in, così che il Content Ma­na­ge­ment System non si arroghi più risorse di quelle che avevate previsto.

Soluzione n.4: con­tat­ta­re il provider dell’hosting o dell’Internet Service

Se avete tentato, senza successo, di risolvere il 504 Gateway Timeout con le soluzioni appena proposte, allora è probabile che l’errore non sia ri­con­du­ci­bi­le a nessuna delle vostre ap­pli­ca­zio­ni e che quindi ricada al di fuori della vostra zona di com­pe­ten­ze. In questo caso l’errore dipende pro­ba­bil­men­te da un server all’interno della catena di co­mu­ni­ca­zio­ne gestito dal vostro provider di servizi Internet o dal provider dell’hosting. L’unica pos­si­bi­li­tà che vi resta è quella di con­tat­tar­li, pre­gan­do­li di risolvere il problema. A quel punto vale anche la pena di ri­chie­de­re il loro supporto nel caso in cui il vostro progetto web dovesse essere stato infettato da malware o se venisse co­stan­te­men­te tem­pe­sta­to da spam.

Vai al menu prin­ci­pa­le