--- title: "503 Service Unavailable — what it means and how to fix it" description: "The server is temporarily unable to handle the request, usually because it is overloaded or in maintenance. What causes an HTTP 503, what to try as a visitor, and what to check if it is your own site." url: https://atoneplace.net/error/503/ site: "At One Place" --- # HTTP 503 — Service Unavailable **HTTP 503: Service Unavailable** The server is temporarily unable to handle the request, usually because it is overloaded or in maintenance. ## What 503 actually means The server is up and answering, but it is deliberately declining work right now. That is the difference from a 500: nothing is broken, the capacity or the willingness is temporarily absent. It is the correct code for planned maintenance and for load shedding, and it should carry a `Retry-After` header saying when to come back — which also tells search engines to hold off rather than deindex the page. ## Common causes - Planned maintenance with a maintenance page enabled - The server overloaded and shedding requests - An autoscaling group with no healthy instances - A worker pool or connection pool exhausted - A dependency the app needs — a database or cache — being unreachable, with the app failing fast - A traffic spike, whether organic or a denial-of-service attack ## If you're just trying to view the page 1. Wait and try again — this one really is temporary by definition 2. Check the site's status page or social accounts for a maintenance notice 3. Avoid rapid refreshing; if the site is overloaded, retries make it worse 4. Nothing on your side needs changing ## If it's your site 1. Always send `Retry-After` with a 503 — it keeps search engines from treating the outage as removal and tells clients when to return 2. Check whether it is genuine overload or a failing dependency; the fixes are opposite 3. Look at connection and worker pool saturation, and at queue depth, before adding capacity blindly 4. Serve a static maintenance page from the edge so the origin is not carrying the load of its own error page 5. Set up autoscaling and load shedding so overload degrades gracefully instead of collapsing ## Reference - **Status code:** 503 - **Reason phrase:** Service Unavailable - **Category:** 5xx — Server Error - **Cacheable by default:** No - **Defined in:** RFC 9110 §15.6.4 ## Common questions ### What does HTTP 503 mean? The server is temporarily unable to handle the request, usually because it is overloaded or in maintenance. The server is up and answering, but it is deliberately declining work right now. That is the difference from a 500: nothing is broken, the capacity or the willingness is temporarily absent. ### How do I fix a 503 error? Wait and try again — this one really is temporary by definition ### Is 503 a client error or a server error? 503 is in the 5xx range, which means server error. The request was acceptable but the server could not fulfil it, so retrying later can succeed. ## Related pages - [500 Internal Server Error](https://atoneplace.net/error/500/) - [502 Bad Gateway](https://atoneplace.net/error/502/) - [504 Gateway Timeout](https://atoneplace.net/error/504/) - [524 A Timeout Occurred](https://atoneplace.net/error/524/) - [521 Web Server Is Down](https://atoneplace.net/error/521/) - [522 Connection Timed Out](https://atoneplace.net/error/522/) - [520 Web Server Returned an Unknown Error](https://atoneplace.net/error/520/) - [525 SSL Handshake Failed](https://atoneplace.net/error/525/) - [526 Invalid SSL Certificate](https://atoneplace.net/error/526/) - [530 Origin DNS Error](https://atoneplace.net/error/530/) - [501 Not Implemented](https://atoneplace.net/error/501/) - [511 Network Authentication Required](https://atoneplace.net/error/511/) ## Sources - Hypertext Transfer Protocol (HTTP) Status Code Registry — IANA (https://www.iana.org/assignments/http-status-codes/) - RFC 9110: HTTP Semantics — IETF (https://www.rfc-editor.org/rfc/rfc9110.html)