HTTP 504 Gateway Timeout

Codice di stato 504 · Classe 5xx

HTTP

Messaggio ufficiale (come appare sullo schermo): Gateway Timeout

Cercato anche come: error 504, HTTP 504, 504 gateway timeout, gateway time-out

Catena di una richiesta HTTP dal browser al server di origine, passando per CDN e proxy
Errori HTTP: individua quale passaggio della catena di richiesta è fallito e leggi i suoi log.

Che cosa significa

Il 504 Gateway Timeout significa che un gateway o proxy ha atteso troppo la risposta del server upstream e ha rinunciato. Il front end è raggiungibile, ma l'applicazione dietro di esso è troppo lenta o bloccata in un'operazione lunga, come una query pesante sul database.

Si applica a: Tutti i browser, nginx, Apache, Cloudflare, AWS ALB

Come risolvere HTTP 504 Gateway Timeout

  1. Ricarica la pagina dopo un minuto: i picchi di carico temporanei spesso si risolvono da soli
  2. Prova una rete diversa per escludere un proxy dalla tua parte
  3. Per report o esportazioni lunghi, usa un intervallo di date più breve oppure l'esportazione in background offerta dal sito
  4. Se gestisci il sito: individua le richieste lente nei log applicativi e in un APM e ottimizza la query lenta o la chiamata API esterna
  5. Se gestisci il sito: allinea i timeout in modo che ogni livello attenda leggermente più di quello che gli sta dietro (per nginx 'proxy_read_timeout' o 'fastcgi_read_timeout')
  6. Se gestisci il sito: sposta il lavoro di lunga durata in job in background e rispondi rapidamente al client
  7. Se gestisci il sito dietro una CDN: ricorda che la CDN ha un proprio timeout verso l'origine (Cloudflare mostra la propria pagina 524 quando l'origine è troppo lenta)

Perché succede

L'upstream non ha risposto entro il timeout del proxy. Cause tipiche: query lente sul database, tabelle bloccate, worker sovraccarichi, chiamate API esterne che restano in sospeso e timeout troppo bassi per operazioni lunghe legittime.

Domande frequenti

Posso risolvere un 504 Gateway Timeout da visitatore?

Di solito no: il server del sito è troppo lento. Aspettare e riprovare è l'opzione principale.

Devo semplicemente aumentare il timeout?

Solo come soluzione temporanea. Trova e correggi l'operazione lenta, oppure spostala in un job in background.

Errori correlati

Fonte: IANA HTTP Status Code Registry · soluzioni scritte e verificate dalla redazione (vedi la nostra politica editoriale)

Ultimo aggiornamento: