An HTTP Error 524 indicates a timeout after establishing a TCP connection and waiting for a response from your origin.
If your origin server does not return any data after 100 seconds, we will close the connection and serve a 524 error. This can happen if your server is simply taking too long because it has too much work to do - e.g. a large data query, or because the server is struggling for resources and cannot return any data in time. We recommend that you implement status polling of large HTTP processes to avoid hitting this error.
Here are the options we’d suggest to work around this:
-
Run the scripts via a grey-clouded subdomain.
-
Change the script so that it kicks off a long-running background process, and quickly returns a status which the browser can poll until the background process has completed, at which point the full response can be returned. This is the way most people do this type of activity these days - as keeping HTTP connections open for a long time is unreliable and can also be very taxing.
-
For Enterprise zones only, you can increase the 524 timeout up to 6000 seconds using the proxy_read_timeout API endpoint or using a Cache Rule with the
Proxy Read Timeout
setting.
However, please be aware that increasing the timeout can potentially be an attack vector since Cloudflare is using more resources to maintain those connections. We do not recommend to simply jump to the maximum allowed: instead it’s better to try to aim for the minimum required by the application, or start by doubling the default 100 seconds value and then increment.