503 Service unavailable with a retry-after header


I have a question on how Cloudflare handles 503 status codes that include a retry-after header. As I understood, Cloudflare respects the retry-after header and will not send requests to your servers when a retry-after header is included in the response.

Let’s say the call api.mywebsite .com/api/v1/user returns a 503 with retry-after of 60:

what traffic is blocked by Cloudflare for these 60 seconds?

a. Any traffic to *.mywebsite .com will be blocked for 60s.
b. Any traffic to the subdomain api.mywebsite .com will be blocked for 60s.
c. Any traffic to the specific uri api.mywebsite .com/api/v1/user will be blocked for 60s.

I got suggestions to use 429 rate limiting. It feels like this is not the correct way. In my opinion 429 should be used when a specific client sends too much requests. In our case the servers simply can’t handle the load of all users and the clients should start an exponential back-off mechanism.

Hope you guys can help us out!


OK, my initial assumption was wrong. The answer to this is actually no: Cloudflare will return to the eyeball (user) the retry-after sent by the origin but if the eyeball does not obey and retry before the retry-after, we will not obey either and send the request to the origin.

This topic was automatically closed after 30 days. New replies are no longer allowed.