Heroku 503: cause and troubleshooting
Heroku's router stopped waiting because the dyno did not return a response within the H12 request-timeout window.
What to check next
Correlate the request ID with router and application logs, optimize slow database or external calls, and move long-running work to an asynchronous job.
Use the diagnostic code and provider headers as clues, then confirm the request against origin logs and deployment telemetry. A status code can be generated by a proxy, load balancer, function platform, or origin application; the same number does not always have the same cause across providers.
Keep a CDN error from becoming a long outage
Record the request identifier, timestamp, affected hostname, and deployment when investigating an intermittent failure. SteadyNode checks public endpoints on a schedule and translates recognized upstream errors into concise diagnostic context, helping teams identify whether a failure is at the edge or origin.

