504 Gateway Timeout
The server behind the proxy took too long
Seen in nginx, load balancers, CDNs
The proxy waited for the application and gave up.
Common causes
- Slow database queries or external API calls.
- Proxy timeout shorter than the request needs.
- The upstream is unreachable from the proxy (firewall).
How to fix it
- Find and speed up the slow request; move long jobs to background workers.
- Raise proxy timeouts only if the work is genuinely long.
- Check proxy-to-upstream connectivity.
Got a different message? Paste it into the error explainer.
Related errors
- 502 Bad Gateway · The proxy got a bad response from the server behind it
- Error 520: Web server is returning an unknown error · Cloudflare got an empty or invalid response
- 429 Too Many Requests · You've hit a rate limit
- 400 Bad Request · The server could not understand the request
- 401 Unauthorized · The request needs valid credentials
- 403 Forbidden · The server refuses to allow this request
- 404 Not Found · Nothing exists at this URL
- 405 Method Not Allowed · This URL does not accept that HTTP method
- 410 Gone · The resource was removed on purpose
- 414 Request-URI Too Large · The URL is longer than the server accepts
- 500 Internal Server Error · The application hit an error it did not handle
- 400 Bad Request: The plain HTTP request was sent to HTTPS port · Plain HTTP was sent to a port that expects TLS