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 di applicazioni sovraccarico dietro il gateway che sta lavorando troppo lentamente per costruire completamente le risposte alle richieste originate dal client entro la finestra di timeout della risposta configurata del 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.