HTTP status code
Service Unavailable
The server is temporarily unable to handle the request.
The server is up and deliberately declining, usually because it is overloaded or in maintenance. Unlike 502, this is often an intentional and correct response — the server is choosing to shed load rather than fall over. It should include a Retry-After header when the duration is known.
Distinguish intentional from accidental first. If you did not put the service into maintenance, look at worker saturation and queue depth. A 503 from a load balancer with no healthy backends is a different problem from a 503 emitted by a healthy application shedding load — the first means your health check is failing, the second means you are simply out of capacity.
Because 503 is often correct behaviour during maintenance, it is worth using maintenance windows in your monitoring so planned work does not page anyone or count against your uptime figures.
Monitor for 503 responses freeA 502 means the proxy could not get a valid response from your application. A 503 means the server was reached and is declining, usually due to overload or maintenance. 502 suggests something is broken; 503 often means something is intentionally unavailable.
To your users, yes — the service is not usable. Whether it counts against an SLA depends on whether it falls inside an announced maintenance window, which is why those exclusions belong in the contract.
Yes, with a Retry-After header. Returning 200 for a maintenance page tells search engines the page has genuinely been replaced by that content, which can affect your rankings.
Pingura checks your endpoints from five regions and alerts on the status code, not just reachability.
Get Started Free