HTTP 503 Service Unavailable
The server is temporarily unavailable — overloaded, in maintenance, or intentionally not accepting traffic.
What it means
503 explicitly means "I'm here, but I can't help you right now." The server is overloaded, doing maintenance, or has explicitly drained from a load balancer pool. 503s should ideally include a Retry-After header telling the client when to come back.
Two flavors in practice: planned (maintenance mode, deploy draining) and unplanned (overload, dependency failure, rate-limit at the infrastructure level). Maintenance-mode 503s are the only kind that should be "OK" — and even then, they're customer-facing downtime.
Common causes
- Maintenance mode intentionally turned on
- Application overloaded and shedding load
- Auto-scaling lag — too few instances for current traffic
- Load balancer health checks failing on all backend instances
- Database connection pool exhausted
How to fix it
- 1Scale up application instances
- 2Increase database connection pool or cache size
- 3Investigate why upstream health checks are failing
- 4Confirm maintenance mode isn't accidentally on
How Uptimera reports 503
Uptimera flags 503 as down. If your status page is also rendered through the same infrastructure that's 503-ing, your incident-communication path is broken — host status pages on independent infrastructure.
Related codes
Internal Server Error
Generic server-side failure. Something blew up that the server didn't have a more specific response for.
Bad Gateway
A proxy or gateway in front of your app got a bad response from the upstream. Usually means your app crashed or isn't responding.
Gateway Timeout
A proxy in front of your app waited too long for an upstream response and gave up.
Catch 503s before your customers do
Uptimera monitors your URLs from multiple regions and alerts the moment a 503 starts firing. Free plan included.