AWS CloudFront · HTTP 503

CloudFront 503: Origin Service Unavailable

Find the source of CloudFront 503 responses by checking origin capacity, throttling, distribution behavior, and error cache settings.

CDN / Edge Network

Decode a CDN or gateway error

Paste a captured HTTP response or enter a status and headers. Only the status and response headers are sent; common credential headers are filtered first.

Supports raw headers, full HTTP responses, JSON with status/statusCode and headers, cURL -v/-i response output, and HAR exports. HAR selects a server error first. cURL commands are never executed; request headers, response bodies, and common credential headers are excluded.

Diagnostic report

Error code / name

AWS_CLOUDFRONT_503_ORIGIN_UNAVAILABLE

Fault domain

CDN / Edge Network

Why it happened

CloudFront could not provide the requested object because the origin or an edge dependency returned an unavailable response, or request capacity was exceeded. The x-cache value and origin logs help distinguish those paths.

Actionable fixes

  1. Use distribution logs and x-amz-cf-id to determine whether the 503 came from the origin or edge.
  2. Check origin concurrency, rate limits, and provider health at the request timestamp.
  3. Cache stable public content where safe and set explicit error caching to avoid amplifying transient faults.

Why this error happened

CloudFront could not provide the requested object because the origin or an edge dependency returned an unavailable response, or request capacity was exceeded. The x-cache value and origin logs help distinguish those paths.

Actionable fixes

  1. Use distribution logs and x-amz-cf-id to determine whether the 503 came from the origin or edge.
  2. Check origin concurrency, rate limits, and provider health at the request timestamp.
  3. Cache stable public content where safe and set explicit error caching to avoid amplifying transient faults.

Network failure point

Client -> CloudFront POP -> origin returns 503 / edge capacity limit -> X response

Verify origin directly via CLI

curl -sS -I -v --max-time 30 https://example.com/health

Configuration fix

cloudfront.tfhcl
custom_error_response {
  error_code            = 503
  response_page_path    = "/maintenance.html"
  response_code         = 503
  error_caching_min_ttl = 5
}

Catch this failure before it becomes an outage

SteadyNode's HTTP checks alert on regional 503 patterns and retain CloudFront request headers, helping teams tell edge-wide issues from one unhealthy origin.

No credit card required.

Start for free

Frequently asked questions

Does CloudFront 503 always mean an AWS edge outage?

No. The origin may return 503 because it is overloaded or rate-limiting requests; inspect distribution and origin logs to identify the source.

Can error caching make a 503 last longer?

Yes. Review the configured error caching minimum TTL and use a short value for transient service-unavailable responses.

Cloudflare

Vercel and Netlify

AWS CloudFront and ALB

Fastly

Heroku and Render

Nginx and Envoy