Debugging
13 posts tagged with Debugging.
DNS vs SSL vs HTTP errors: what actually broke?
A broken page can fail at any of four layers — DNS, TCP, TLS, or HTTP. The error message you see almost never names the layer, but the layer is the entire answer. Here's how to tell them apart in under a minute.
Why a website can be down in one country but working everywhere else
The same URL can return 200 OK in Frankfurt and time out in Mumbai. Four mechanisms explain almost every regional outage — GeoDNS, CDN POP failures, BGP routing problems, and government-level filtering. Here's how to tell which one is in play.
Cloudflare error codes: 520, 521, 522, 524, 1015, 1020 decoded
Cloudflare error pages own their own numeric range — 5xx for upstream problems, 1xxx for client-side policy hits. Each code points at a specific failure in a specific place. Here's the field guide.
Connection refused vs connection reset vs connection timed out — which one means what
Three error phrases that look similar but point at completely different failures. One means the server doesn't exist; one means it killed your conversation mid-sentence; one means it ghosted you. Here's how to tell them apart and what each tells you to do.
Why your status page shows green when the service is broken
You're staring at error 503s. You open the vendor's status page. All systems operational. You aren't crazy and the page isn't lying — it's lagging, and the lag is structural. Here's the anatomy of the gap, and what to look at instead.
Status page indicators decoded: what 'minor', 'major', and 'maintenance' actually mean
Every public status page reports the same five-state vocabulary: operational, minor, major, critical, maintenance. Vendors use them differently. Here's what each label is actually trying to tell you — and the edge cases where the label lies.
What `429 Too Many Requests` actually means, and how rate limits really work
Most rate-limit explanations stop at 'you went too fast.' That's true but not useful. Real rate limiters work in five different ways — token bucket, leaky bucket, fixed window, sliding window, concurrency cap — and the headers tell you which one you're hitting, when to retry, and how much budget you have left.
Why your DNS change isn't propagating: the five timers that actually govern it
'DNS propagation' has nothing to do with how long it takes. There is no single timer. There are five separate caches between your registrar and your visitors' resolvers — and you need to understand all of them to predict the answer to 'when will the new record be live?'
Permanently shut down or just down right now? A 10-minute diagnosis
A site won't load. Is it a five-minute hiccup, an outage that ends today, or has the service quietly been dead for two years? The diagnostic isn't intuition — it's six concrete signals, in priority order. Here is the workflow we run.
Reading SSL certificate errors: the four most common ones, decoded
ERR_CERT_AUTHORITY_INVALID. NET::ERR_CERT_DATE_INVALID. ERR_CERT_COMMON_NAME_INVALID. ERR_SSL_VERSION_OR_CIPHER_MISMATCH. The browser tells you almost exactly what's wrong if you know how to read it. Here is what each one means, why it happens, and what to do.
The 5xx family: 500 / 502 / 503 / 504 / 520 and what each one is actually telling you
Every 5xx code is a server's way of saying 'something went wrong on our end.' But they are not interchangeable. 502 means upstream; 504 means upstream-but-slow; 503 means deliberately unavailable; 520 means Cloudflare-doesn't-know. Knowing which one you got cuts the bug-hunt by more than half.
Reading an HTTP redirect chain — the underrated debugging skill
When 'is the site down' turns out to be 'the site is fine, but the redirect chain is sending users somewhere unexpected,' the only useful diagnostic is the full hop-by-hop trail. Here's what each step tells you, and the patterns that crop up most often.
What HTTP 403, 404, 429, 500, 502, and 503 errors actually mean
Six HTTP status codes do most of the diagnostic work on a broken-website page. The class digit tells you whose fault it is; the second and third digits tell you which part broke. Here's what each one is really saying — and what to do about it.