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.
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.
The request was at fault. On a monitoring check that almost always means the check needs fixing rather than the service — with two exceptions.
The class of responses that means the request was at fault. For a monitor, a 4xx usually means the check is misconfigured.
The server could not parse or would not accept the request as sent — it was malformed before any logic ran.
The request needs authentication and did not supply valid credentials — the server does not know who you are.
The server understood the request and refuses to fulfil it — authentication will not change the answer.
The server has nothing at that path — and it will not say whether it never did or no longer does.
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.
The server gave up waiting for the client to finish sending its request.
The resource existed and has been permanently removed — a deliberate, final version of 404.
The client has been rate limited — the server is deliberately shedding its requests to protect itself.
Nginx's own code for a client that hung up before the response was ready — a symptom of slowness, not a cause.
The failure is on your side. The specific code identifies the layer, which is most of the triage.
The class meaning the server failed to fulfil a request that was, as far as it could tell, valid.
The application hit an unhandled failure — the generic answer when nothing more specific applies.
The server does not support the functionality needed to fulfil the request at all.
A proxy asked your application for a response and got something it could not use — or nothing at all.
The server is deliberately refusing to serve right now — overloaded, in maintenance, or with nothing healthy to route to.
A proxy waited for your application and gave up — the upstream was reachable, just too slow.
The server aborted a request because it was going round in circles — usually a redirect or rewrite loop.
Cloudflare's own codes, not HTTP standards. Each says something specific about the leg between the edge and your origin.
Cloudflare reached your origin and got back a response it could not use: empty, malformed or cut off.
Cloudflare reached your origin and the origin refused the connection outright.
Cloudflare tried to connect to your origin and got no answer at all before giving up.
Cloudflare could not route to your origin at all — usually a DNS record pointing at nothing.
Cloudflare connected to your origin and sent the request, and the origin took longer than 125 seconds to respond.
Cloudflare reached your origin but could not complete the TLS handshake with it.
Cloudflare reached your origin over HTTPS and rejected the certificate it presented.
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.
The DNS resolver answered definitively that the name does not exist — before any connection was attempted.
The host answered the connection attempt with an explicit rejection — nothing is listening on that port.
The connection attempt got no answer at all and the client eventually gave up.
The certificate's validity period has passed, so every client refuses the connection.
An SSL handshake failed or TLS handshake failure means the TCP connection succeeded and the TLS negotiation on top of it did not.
An established connection was abruptly terminated by the other end, mid-exchange.
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.