5xx Server error · RFC 9110 §15.6.4

503 Service Unavailable

The server is temporarily unable to handle the request.

What 503 means

Overload or planned maintenance. Unlike 500 it is explicitly temporary, and it should carry a Retry-After header so clients and search engines know when to come back.

Load balancers return 503 when no healthy backend is available; applications return it when a dependency is down or a circuit breaker is open.

Common causes

  • All backends failed health checks.
  • Maintenance mode switched on.
  • Connection pool or worker pool exhausted under load.
  • A dependency (database, cache) unavailable and the app failing fast.

How to fix it

  • Scale out or shed load; fix the failing dependency.
  • Send Retry-After so clients back off predictably.
  • For maintenance, keep 503 short; long-lived 503s can drop pages from search results.

What it looks like

A typical response:

HTTP/1.1 503 Service Unavailable
Retry-After: 120
Content-Type: text/html

The same event in an nginx access log (the status is the number after the request line):

203.0.113.7 - - [10/Sep/2026:10:12:01 +0000] "GET / HTTP/1.1" 503 153 "-" "Mozilla/5.0"

Check it with curl

-i prints the status line and headers, and -w '%{http_code}' prints only the number, which is handy in scripts and health checks. Replace the URL with yours:

curl -sS -o /dev/null -w '%{http_code} %{time_total}s\n' https://example.com/api/orders

Compare what curl sees with what the browser sees. A different status from the same URL usually means a cache, a CDN edge or a cookie is in the way.

Investigating a run of 503s? Paste the log excerpt into Log Share to get line numbers, highlighting and an expiring link for whoever is on call with you.

  • 502Bad Gateway: A proxy or load balancer got an invalid response from the upstream server.
  • 504Gateway Timeout: A proxy or load balancer gave up waiting for the upstream server.
  • 429Too Many Requests: The client has sent too many requests in a given amount of time.

FAQ

Does a 503 hurt SEO?

A short outage does not; Google retries later. Days of 503 will eventually get pages dropped, so fix outages quickly and never return 503 as a permanent state.