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 può essere restituito il codice di stato HTTP 504 Gateway Timeout:
- Il server gateway che funge da proxy o da bilanciatore di carico non riesce a ottenere una risposta da un server applicativo o da un microservizio a monte entro la soglia di tempo assegnata in attesa di una risposta completa.
- C'è un server applicativo sovraccarico dietro il gateway che lavora troppo lentamente per costruire completamente le risposte alle richieste originate dal cliente entro la finestra di timeout di risposta configurata dal gateway.
- Un DNS, un database o un altro servizio esterno a cui l'applicazione di backend si affida per creare le risposte funziona troppo lentamente nel fornire dati critici di cui il gateway ha bisogno.
- I servizi di sicurezza come i WAF o i livelli di autenticazione tra il gateway e i server delle applicazioni contribuiscono a una latenza aggiuntiva che supera le soglie di timeout durante l'elaborazione delle richieste e delle risposte.
- La connessione di rete tra i livelli di gateway e application server disaccoppiati 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 modelli di comportamento.
In sintesi, 504 errori derivano da tempi di risposta inadeguati dei sistemi dietro a un gateway per consentire il completo proxing del comportamento delle applicazioni entro i limiti di tempo consentiti.