504 Gateway Timeout è un codice di stato HTTP che indica che un server che funge da gateway o proxy non ha ricevuto una risposta tempestiva da un server upstream.

Ecco alcuni motivi specifici per cui potrebbe essere restituito un codice di stato HTTP 504 Gateway Timeout:

  • Il server gateway che funge da proxy o bilanciatore di carico non riesce a ottenere una risposta da un server applicativo upstream o da un microservizio entro la soglia di tempo assegnata, in attesa di una risposta completa.
  • C'è un server applicativo sovraccarico dietro il gateway che funziona troppo lentamente per costruire completamente le risposte alle richieste originate dal client entro la finestra di timeout di risposta configurata dal gateway.
  • Un DNS, un database o un altro servizio esterno da cui dipende l'applicazione backend per costruire le risposte funziona troppo lentamente nel fornire parti critiche dei dati di cui il gateway ha bisogno.
  • Servizi di sicurezza come WAF o livelli di autenticazione tra il gateway e i server applicativi contribuiscono a una latenza aggiuntiva che supera le soglie di timeout durante l'elaborazione di richieste e risposte.
  • La connessione di rete tra i livelli disaccoppiati del gateway e del server applicativo subisce perdite di pacchetti, jitter elevato o problemi di connettività che degradano le prestazioni di trasmissione al di sotto dei timeout.
  • L'applicazione funziona correttamente, ma i timeout configurati sul gateway intermedio sono troppo aggressivi per i normali schemi di comportamento.

In sintesi, gli errori 504 derivano da tempi di risposta inadeguati dei sistemi dietro un gateway per consentire il proxy completo del comportamento dell'applicazione entro i limiti di tempo consentiti.