Skip to content

ERR_SERVER_UNAVAILABLE β€” Server Unavailable

HTTP Status: 503 Retryable: Yes Automatic retry: The frontend’s BackendSelector tries the primary backend first, then falls back to the secondary. If both return 503, this error surfaces.

What the User Sees

The server is temporarily unavailable. (ERR_SERVER_UNAVAILABLE)

What Causes This Error

The API server returned HTTP 503 Service Unavailable. This can be caused by: a Cloudflare Workers runtime error during startup, a deployment in progress that temporarily disrupts the Worker, a backend health check failure on both primary and fallback backends, or a Cloudflare infrastructure issue.

The frontend includes a BackendSelector that maintains health state for multiple backends. It tries the primary backend first and falls back to the secondary if the primary is unhealthy. This error only appears to the user if both backends are returning 503.

A 503 during deployment is expected and brief (typically seconds). A sustained 503 indicates a more serious issue such as a broken deployment, missing environment bindings, or an infrastructure outage.

Resolution Steps

For Users

  1. Wait a few minutes and try again. The server may be restarting or deploying an update.
  2. If the error persists for more than 5 minutes, the service may be experiencing an outage.
  3. Try refreshing the page, which may trigger the BackendSelector to re-evaluate backend health.

For Administrators

  1. Check Cloudflare Workers deployment status in the Cloudflare dashboard.
  2. Run wrangler tail to see real-time Worker logs and identify startup errors.
  3. Verify the /health endpoint returns 200 on both backends:
    Terminal window
    curl -v https://api-pdf.theaccessible.org/health
  4. If a recent deployment introduced a startup error, roll back to the previous version:
    Terminal window
    cd workers/api && npx wrangler rollback --env production
  5. Check that all required environment bindings (KV namespaces, R2 buckets, secrets) are present in the Worker configuration.
  6. If Cloudflare Workers infrastructure is the issue, check https://www.cloudflarestatus.com.
  7. For the Node.js backend on 10.1.1.4, SSH in and check Docker container status:
    Terminal window
    ssh -i ~/.ssh/nightly-audit larry@10.1.1.4 "cd ~/accessible-pdf-converter && docker compose ps"