# Error 524: a timeout occurred

Cloudflare successfully connected to the origin, but the origin did not send an HTTP response before the default 125-second Proxy Read Timeout.

## Common causes

- A long-running process on the origin (large data query, report generation, big export).
- An overloaded origin that cannot return data in time.

Note the sibling timeout: if the origin accepts the connection for a write but the write does not complete within 30 seconds (Proxy Write Timeout), that also surfaces as a 524. That timeout cannot be adjusted.

## The fixes

1. **Status polling.** The documented workaround for long HTTP processes: return quickly with a job id, let the client poll for completion. Do not hold the connection open.
2. **Move the slow endpoint off the proxied path.** Put long-running requests behind a DNS-only (gray-clouded) subdomain so Cloudflare's timeouts do not apply.
3. **Raise the timeout (Enterprise).** Up to 6,000 seconds, either via a Cache Rule with the `Proxy Read Timeout` setting (the content must be cacheable for the rule to trigger, though it does not need to be cached) or the Edit zone setting API for the whole zone.

## The failure mode

Teams "fix" 524 by retrying faster, which multiplies the long-running load on an already struggling origin. Back off, then restructure.

## Checklist

- Confirm with cf-error-type that it is a 524 (origin timeout), not a Worker 1102 (your code is slow).
- For exports and reports: poll, do not hold.
- If the workload legitimately needs minutes, DNS-only subdomain or Enterprise timeout raise.