Free tools

HTTP 504 Gateway Timeout

A proxy timed out waiting for the upstream server. Free reference, no signup.

504 Gateway Timeout

MeaningA proxy timed out waiting for the upstream server.
WhenThe app took longer than the gateway allows.
CausesA slow database query, a hung outbound call, or a timeout that is shorter than the work.
FixFind the slow work. Raising the timeout only helps if the work finishes.
RetryRetry idempotent requests with backoff.
Alert?Yes. The gateway gave up on your app.

Runs in your browser. Nothing you enter is stored.

Get pinged when your API starts returning 504s

The gateway gave up on your app.

curl -sS -X POST https://api.trigv.com/v1/events \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TRIGV_API_KEY" \
  -d '{"channel":"ops","title":"HTTP 504","level":"error"}'

How to use it

  1. Read what 504 means before changing a retry loop.
  2. Check the common causes against the response body and the server log.
  3. Follow the retry note. Retrying a 400 with the same body will fail again.
  4. If this is your API, use the snippet to hear about it.

About this tool

HTTP 504 Gateway Timeout means A proxy timed out waiting for the upstream server. Servers send it when The app took longer than the gateway allows.

Common causes: A slow database query, a hung outbound call, or a timeout that is shorter than the work. The practical fix is: Find the slow work. Raising the timeout only helps if the work finishes.

Retry: Retry idempotent requests with backoff.

Alert on it? Yes. The gateway gave up on your app.

Trigv is a push for the moment a status starts mattering, not a log of every response. If the code is one you should hear about, the snippet posts a single event with level error or warning. The status page itself does not call your API.

Questions

What is HTTP 504?

A proxy timed out waiting for the upstream server.

Should the client retry?

Retry idempotent requests with backoff.

Should I alert on it?

Yes. The gateway gave up on your app.

How is this different from reading the spec?

The page adds a plain retry note and an alert verdict for people running the service, not only for people parsing the response.