Fastly · HTTP 503

Fastly 503: No Healthy Backend

Find why Fastly marks every backend unhealthy. Review health-check path, expected status, probe thresholds, and origin capacity.

Origin / Network Firewall

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

FASTLY-NO_HEALTHY_BACKEND

Fault domain

Origin / Network Firewall

Why it happened

Fastly had no backend that passed its configured health checks. A wrong probe path, an unexpected response code, a blocked probe, or a real origin outage can remove every backend from selection.

Actionable fixes

  1. Inspect backend health state and probe history at the time of the request.
  2. Verify the probe uses the intended host, TLS mode, path, and expected status code.
  3. Allow provider health-check traffic at the origin and avoid probe endpoints that depend on optional services.

Why this error happened

Fastly had no backend that passed its configured health checks. A wrong probe path, an unexpected response code, a blocked probe, or a real origin outage can remove every backend from selection.

Actionable fixes

  1. Inspect backend health state and probe history at the time of the request.
  2. Verify the probe uses the intended host, TLS mode, path, and expected status code.
  3. Allow provider health-check traffic at the origin and avoid probe endpoints that depend on optional services.

Network failure point

Client -> Fastly POP -> backend health probes -> all backends marked sick -> X 503

Verify origin directly via CLI

curl -sS -I -v --connect-timeout 5 --max-time 15 https://origin.example.com/health

Configuration fix

main.vclvcl
probe origin_health {
  .url = "/health/ready";
  .expected_response = 200;
  .interval = 10s;
  .threshold = 2;
  .window = 3;
}

Catch this failure before it becomes an outage

SteadyNode's scheduled probes provide an independent view of origin health, helping teams tell a failed Fastly probe configuration from a wider application outage.

No credit card required.

Start for free

Frequently asked questions

Why can Fastly show 503 when the origin works in a browser?

The configured probe may use a different host, path, TLS setting, or network source than the browser request.

Should the health-check endpoint query every dependency?

Only test dependencies required to serve the checked route. Avoid marking all backends sick because an optional service is degraded.

Cloudflare

Vercel and Netlify

AWS CloudFront and ALB

Fastly

Heroku and Render

Nginx and Envoy