Error guides

HTTP and network errors, from the server side

Most pages about “502 Bad Gateway” tell the reader to clear their cache and try again later, which is useless advice to the one person who can actually fix it. These guides are written for whoever runs the server: what the code says about your stack, the causes worth checking in order, how to tell whose side the problem is on, and what an uptime check will and will not see.

For the vocabulary rather than the codes, the monitoring glossary defines the terms these guides use. For TLS and certificate failures such as 525 and 526, SSL certificate monitoring shows what an Uptimely certificate monitor reads and which rules alert on it. For the machine-readable errors the Uptimely API itself returns, see the API documentation.

Client errors (4xx)

The request was at fault. On a monitoring check that almost always means the check needs fixing rather than the service — with two exceptions.

4xx client errors

The class of responses that means the request was at fault. For a monitor, a 4xx usually means the check is misconfigured.

400 Bad Request

The server could not parse or would not accept the request as sent — it was malformed before any logic ran.

401 Unauthorized

The request needs authentication and did not supply valid credentials — the server does not know who you are.

403 Forbidden

The server understood the request and refuses to fulfil it — authentication will not change the answer.

404 Not Found

The server has nothing at that path — and it will not say whether it never did or no longer does.

405 Method Not Allowed

A 405 Method Not Allowed error means the URL exists but does not accept the HTTP method used, commonly a GET sent to an endpoint built for POST.

410 Gone

The resource existed and has been permanently removed — a deliberate, final version of 404.

429 Too Many Requests

The client has been rate limited — the server is deliberately shedding its requests to protect itself.

499 Client Closed Request

Nginx's own code for a client that hung up before the response was ready — a symptom of slowness, not a cause.

Server errors (5xx)

The failure is on your side. The specific code identifies the layer, which is most of the triage.

5xx server errors

The class meaning the server failed to fulfil a request that was, as far as it could tell, valid.

501 Not Implemented

The server does not support the functionality needed to fulfil the request at all.

502 Bad Gateway

A proxy asked your application for a response and got something it could not use — or nothing at all.

503 Service Unavailable

The server is deliberately refusing to serve right now — overloaded, in maintenance, or with nothing healthy to route to.

504 Gateway Timeout

A proxy waited for your application and gave up — the upstream was reachable, just too slow.

508 Loop Detected

The server aborted a request because it was going round in circles — usually a redirect or rewrite loop.

Cloudflare origin errors (52x)

Cloudflare's own codes, not HTTP standards. Each says something specific about the leg between the edge and your origin.

Network and TLS failures

Failures with no status code at all, because the request never got far enough for a response to exist. These are what a monitor reports when nothing answered.

SSL/TLS handshake failed

An SSL handshake failed or TLS handshake failure means the TCP connection succeeded and the TLS negotiation on top of it did not.

A code you were looking for and did not find? Email support@getuptimely.com. To be told when one of these starts happening to your own service, Uptimely checks every minute on the free plan.