HTTP Errors & Site Reachability Guides

Guides for HTTP status errors (403, 404, 5xx), redirect loops, connection failures, security headers, and open ports. Each guide includes a free check for your URL.

HTTP — 84 guides

301 vs 302 Redirect Guide

301 vs 302: which redirect to use, what each does to caching and SEO, and how to test the response code. Free instant header check, no sign-up.

Diagnose

307 vs 308 Redirect: Method-Preserving Redirects

307 vs 308 redirects keep the request method — unlike 301/302, which turn POST into GET. Check which code your server returns. Free instant check.

Diagnose

400 Bad Request Checklist

400 Bad Request? Separate malformed syntax from oversized headers or cookies, then see which layer rejected it. Free instant check, no sign-up.

Diagnose

401 Unauthorized: Fix Rejected or Missing Credentials

401 Unauthorized? Credentials are missing or rejected. Tell an expired token from a stripped header from a 403 in 3 checks. Free instant check, no sign-up.

Diagnose

402 Payment Required: Not an Error, a Gate

402 Payment Required means access is gated behind payment, not a crash. Tell a quota block from a frozen store in 3 checks. Free instant check, no sign-up.

Diagnose

403 Forbidden Checklist

403 Forbidden? Find the cause in 4 checks: origin permissions, WAF rules, CDN access controls, routing. Free instant check, no sign-up.

Diagnose

404 Not Found Root Cause Guide

404 Not Found on a page that should exist? Trace it in 3 steps: deployment artifacts, rewrite rules, final route. Free instant check, no sign-up.

Diagnose

405 Method Not Allowed Checklist

405 Method Not Allowed? Read the Allow header to see valid methods, then tell a disabled route from a proxy or CORS block. Free instant check, no sign-up.

Diagnose

406 Not Acceptable: Fix the Accept Header Mismatch

406 Not Acceptable means the server can't produce a response matching your Accept header. Tell it from 415, then fix the header in 4 checks. Free instant check, no sign-up.

Diagnose

407 Proxy Authentication Required: Fix Proxy Auth

407 Proxy Authentication Required means a proxy rejected your credentials, not the origin. Tell it from a 401 in 3 checks. Free instant check, no sign-up.

Diagnose

408 Request Timeout: Fix a Slow or Stalled Request

408 Request Timeout: the server quit waiting for the request, not the reply. Separate a slow client from a reaped keepalive. Free instant check, no sign-up.

Diagnose

409 Conflict: Why Your Request Clashes With State

409 Conflict means the request was valid but fought the resource's current state and lost. Tell a duplicate key from a stale ETag from a real race. Free instant check, no sign-up.

Diagnose

410 Gone: When to Use It vs 404

410 Gone means a resource is intentionally, permanently removed - not 404. When to serve it, how Google treats each, verify in 3 checks. Free HTTP check.

Diagnose

411 Length Required: Add a Content-Length

411 Length Required means the server rejected a request with no Content-Length. Buffer the body, set the length, resend. Free instant check, no sign-up.

Diagnose

412 Precondition Failed: Stale ETag, Fix If-Match

412 Precondition Failed means your If-Match ETag no longer matches the server version. Spot the stale write and CDN ETag trap. Free instant check, no sign-up.

Diagnose

413 Payload Too Large Checklist

413 Payload Too Large means your upload crossed a size cap. Pin which layer set it — CDN, reverse proxy, or app — in 3 checks. Free instant check, no sign-up.

Diagnose

414 Request-URI Too Large: Fix

414 Request-URI Too Large: the URL exceeded the server's request-line limit. Check query bloat, redirect loops, server config. Free instant check, no sign-up.

Diagnose

415 Unsupported Media Type: Fix the Content-Type

415 Unsupported Media Type means the server rejects your body's Content-Type. Tell it from 400, 406, and 422, then fix it. Free instant check, no sign-up.

Diagnose

416 Range Not Satisfiable: Why Byte Ranges Fail

416 Range Not Satisfiable means your Range header asked for bytes past the file's end. Find the real length in 3 checks. Free instant check, no sign-up.

Diagnose

417 Expectation Failed: Drop the Expect Header

417 Expectation Failed means a proxy rejected your Expect: 100-continue. Resend without the header, find where the 417 starts. Free instant check, no sign-up.

Diagnose

421 Misdirected Request Checklist

421 Misdirected Request? Separate HTTP/2 connection reuse from an origin SNI or certificate mismatch in 3 checks. Free instant check, no sign-up.

Diagnose

422 Unprocessable Content: Fix Failed Validation

422 Unprocessable Content means your body parsed but failed validation. Read the field errors, tell it from 400 and 415. Free instant check, no sign-up.

Diagnose

423 Locked: Trace the Lock and Release It

423 Locked means a resource is locked against changes. Find the lock that's blocking you in 3 steps, then release it. Free instant check, no sign-up.

Diagnose

424 Failed Dependency: Trace the Upstream Failure

424 Failed Dependency means your request relied on another that failed first. Find the real upstream error in 3 steps and confirm the status. Free instant check, no sign-up.

Diagnose

425 Too Early: Why 0-RTT Requests Get Rejected

425 Too Early means a server refused a TLS 1.3 early-data request over replay risk. See why it fires and how to retry safely. Free instant check, no sign-up.

Diagnose

426 Upgrade Required: Fix the Protocol Mismatch

426 Upgrade Required means the server won't answer over this protocol. Read the Upgrade header, then check TLS and HTTP version. Free instant check, no sign-up.

Diagnose

428 Precondition Required: Add If-Match to Fix

428 Precondition Required means the server refuses your PUT/PATCH without an If-Match ETag. GET the ETag, resend in 3 steps. Free instant check, no sign-up.

Diagnose

429 Too Many Requests Checklist

429 Too Many Requests? Tell an origin rate limit from a CDN or WAF block in 3 checks: final status code, Retry-After, which layer responded. Free instant check, no sign-up.

Diagnose

431 Request Header Fields Too Large: Fix

431 Request Header Fields Too Large: your headers exceeded the server limit. Fix in 3 checks: cookies, big token, server limit. Free instant check, no sign-up.

Diagnose

444 Connection Closed Without Response (nginx)

444 Connection Closed Without Response means nginx dropped your request with no reply. Check 3 things: reachability, TLS/SNI, WAF rules. Free instant check.

Diagnose

451 Unavailable For Legal Reasons Fix

451 Unavailable For Legal Reasons: a legal demand blocked the resource. Read the Link rel=blocked-by header to find who blocked it, in 3 checks. Free instant HTTP check.

Diagnose

494 Request Header Too Large (nginx)

494 Request Header Too Large is nginx's log code for oversized headers, usually a bloated cookie. Isolate client vs server. Free instant check, no sign-up.

Diagnose

499 Client Closed Request: Who Hung Up First (nginx)

499 Client Closed Request means the caller quit before nginx replied. Tell a real user from a load balancer that timed out. Free instant check, no sign-up.

Diagnose

500 Internal Server Error Checklist

500 Internal Server Error? Separate an application crash from a gateway fault in 3 checks: final status code, origin reachability, response path. Free instant check, no sign-up.

Diagnose

501 Not Implemented: Method Unknown, Not Blocked

501 Not Implemented means the server can't recognize the request method, not that it's blocked. Tell it from 405 and a proxy. Free instant check, no sign-up.

Diagnose

502 Bad Gateway Checklist

502 Bad Gateway? Isolate the cause in 3 checks: proxy-to-upstream connectivity, service health, target routing. Free instant check, no sign-up.

Diagnose

503 Service Unavailable Checklist

503 Service Unavailable? Pin down the cause in 4 checks: maintenance mode, overload, rate limiting, backend readiness. Free instant check, no sign-up.

Diagnose

504 Gateway Timeout Checklist

504 Gateway Timeout means the upstream was too slow, not broken. Fix it in 3 checks: upstream latency, port reachability, DNS target. Free instant check, no sign-up.

Diagnose

505 HTTP Version Not Supported: It's Rarely the Version

505 HTTP Version Not Supported: a server refused your HTTP major version. Spot a malformed request line vs a proxy rewrite. Free instant check, no sign-up.

Diagnose

507 Insufficient Storage: It's the Server's Disk

507 Insufficient Storage means the server ran out of room — a full disk, blown quota, or dead inodes. Find it in 3 checks. Free instant check, no sign-up.

Diagnose

508 Resource Limit Is Reached & Loop Detected

508 Resource Limit Is Reached means your account blew its CloudLinux LVE cap — CPU, memory, or processes. Not a bug. Free instant check, no sign-up.

Diagnose

509 Bandwidth Limit Exceeded: Why the Site Died

509 Bandwidth Limit Exceeded: your host hit its monthly transfer cap, not a server bug. Tell it from 503, find the drain. Free instant check, no sign-up.

Diagnose

511 Network Authentication Required: Captive Portals

511 Network Authentication Required means a captive portal, not the site, is blocking you. Isolate it in 3 checks. Free instant check, no sign-up.

Diagnose

520 Web Server Is Returning an Unknown Error (Cloudflare)

Cloudflare 520 means the origin replied with an empty or malformed response. Check crashes, oversized headers, and keep-alive timeout. Free instant check, no sign-up.

Diagnose

521 Web Server Is Down (Cloudflare) Fix

Cloudflare Error 521 means your origin refused the connection. Fix it in 3 checks: server up, Cloudflare IPs allowed, port open. Free instant check, no sign-up.

Diagnose

522 Connection Timed Out (Cloudflare) Fix

Cloudflare Error 522 means the connection to your origin timed out. Fix it in 3 checks: silent firewall drops, origin overload, routing. Free instant check, no sign-up.

Diagnose

524 A Timeout Occurred (Cloudflare) Fix

Cloudflare Error 524 means your origin connected but never finished the response in ~100s. Check slow endpoints, workers, async offload. Free instant check.

Diagnose

Cloudflare Error 1033: Argo Tunnel Error Fix

Cloudflare Error 1033: the hostname routes to a Tunnel with no live cloudflared connector. Check the tunnel, route, connector. Free instant check, no sign-up.

Diagnose

Cloudflare Error 1101: Worker Threw Exception

Cloudflare Error 1101 means your Worker threw an exception — not an origin failure. Tell it apart from 1102, 1027, and 5xx. Free instant check, no sign-up.

Diagnose

Cloudflare Error 1102: Worker Exceeded Resource Limits

Cloudflare Error 1102 means your Worker blew past its CPU or 128 MB memory limit — not a crash. Tell it apart from 1101, 1027, and 1015. Free instant check.

Diagnose

ERR_BLOCKED_BY_RESPONSE in Chrome: Fix

ERR_BLOCKED_BY_RESPONSE: a COEP/CORP policy blocked a cross-origin resource. Check the page COEP and the resource CORP header. Free instant check, no sign-up.

Diagnose

ERR_CONNECTION_CLOSED in Chrome: Fix Checklist

ERR_CONNECTION_CLOSED means a TCP FIN closed the connection mid-request. Check TLS, keep-alive, antivirus, and reachability. Free instant check, no sign-up.

Diagnose

ERR_CONNECTION_REFUSED Fix Guide

ERR_CONNECTION_REFUSED is an instant TCP RST, not a timeout. Fix it in 3 checks: listening port, bind address, firewall reject rules. Free instant check, no sign-up.

Diagnose

ERR_CONNECTION_RESET Fix Guide

ERR_CONNECTION_RESET is a TCP RST that drops an open connection. Fix it in 3 checks: server abort, middlebox, port mismatch. Free instant check, no sign-up.

Diagnose

ERR_CONNECTION_TIMED_OUT Fix Guide

ERR_CONNECTION_TIMED_OUT means packets are silently dropped. Fix it in 3 checks: port reachability, network route, origin health. Free instant check, no sign-up.

Diagnose

ERR_CONTENT_LENGTH_MISMATCH Fix

ERR_CONTENT_LENGTH_MISMATCH means the server sent fewer bytes than promised. Spot the proxy, disk, or worker fault in 3 checks. Free instant check, no sign-up.

Diagnose

ERR_EMPTY_RESPONSE Fix

ERR_EMPTY_RESPONSE means the server closed the connection with no reply. Tell a crash from an HTTPS-port mix-up in 3 checks. Free instant check, no sign-up.

Diagnose

ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY Fix

ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY: TLS too weak for HTTP/2. Fix in 3 checks: TLS version, cipher suite, TLS inspector. Free instant check, no sign-up.

Diagnose

ERR_HTTP2_PING_FAILED in Chrome: Fix

ERR_HTTP2_PING_FAILED means the server ignored Chrome's HTTP/2 keep-alive ping. Fix in 3 checks: server load, proxy, network. Free instant check, no sign-up.

Diagnose

ERR_HTTP2_PROTOCOL_ERROR in Chrome: Fix

ERR_HTTP2_PROTOCOL_ERROR: the HTTP/2 session broke after TLS connected. Fix in 3 checks: server config, headers, CDN. Free instant check, no sign-up.

Diagnose

ERR_HTTP2_SERVER_REFUSED_STREAM: Chrome Fix

ERR_HTTP2_SERVER_REFUSED_STREAM: the server refused the request unprocessed. Check load balancer, HTTP/2 limits, and cookies. Free instant check, no sign-up.

Diagnose

ERR_INCOMPLETE_CHUNKED_ENCODING: Response Cut Short

ERR_INCOMPLETE_CHUNKED_ENCODING means a chunked response ended before its final chunk. Backend crash, nginx temp, or proxy? Free instant check, no sign-up.

Diagnose

ERR_INVALID_CHUNKED_ENCODING: Fix Broken Framing

ERR_INVALID_CHUNKED_ENCODING: the server's chunk framing is malformed, not truncated. Find double-chunking or stray output. Free instant check, no sign-up.

Diagnose

ERR_PROXY_CONNECTION_FAILED

ERR_PROXY_CONNECTION_FAILED means Chrome can't reach your proxy, not the website. Isolate proxy from server in 3 checks. Free instant check, no sign-up.

Diagnose

ERR_QUIC_PROTOCOL_ERROR in Chrome: Fix

ERR_QUIC_PROTOCOL_ERROR: Chrome's QUIC (HTTP/3 over UDP) connection broke. Fix in 3 checks: server, UDP port 443, middlebox. Free instant check, no sign-up.

Diagnose

ERR_RESPONSE_HEADERS_TOO_BIG: Headers Over 256KB

ERR_RESPONSE_HEADERS_TOO_BIG means Chrome hit its 256 KB response-header cap — usually runaway cookies. Find it in 3 checks. Free instant check, no sign-up.

Diagnose

ERR_TOO_MANY_REDIRECTS: Find and Break the Redirect Loop

ERR_TOO_MANY_REDIRECTS? Locate the loop in 4 checks: origin rules, CDN settings, cookies, HTTPS enforcement. Free instant redirect trace, no sign-up.

Diagnose

ERR_TUNNEL_CONNECTION_FAILED Fix

ERR_TUNNEL_CONNECTION_FAILED is your proxy refusing the CONNECT tunnel, not the site. Check 3 things: proxy, site status, DNS. Free instant check, no sign-up.

Diagnose

ERR_UNSAFE_PORT: Chrome Blocked the Port

ERR_UNSAFE_PORT means Chrome blocked the port, not the site. Confirm the port is open in 3 checks and move it off the blocklist. Free instant check, no sign-up.

Diagnose

Error 1003 Direct IP Access Not Allowed (Cloudflare)

Error 1003 means a request hit Cloudflare by raw IP, not the hostname. Check the client, DNS proxy state, and origin exposure in 3 steps. Free instant check, no sign-up.

Diagnose

Error 1015 You Are Being Rate Limited (Cloudflare) Fix

Cloudflare Error 1015: a rate-limit rule tripped on your request volume. Tell it from 1020 and an origin 429 in 4 checks. Free instant check, no sign-up.

Diagnose

Error 1027 Cloudflare: Worker Daily Request Limit

Error 1027 means a Cloudflare Worker hit the Free plan's 100,000/day request cap. Fix it in 4 checks: status, source, fail-open, upgrade. Free instant check.

Diagnose

Filtered vs Closed Port in Nmap: What's the Difference

Nmap port "filtered" vs "closed"? What each state means — RST, dropped packets, or ICMP unreachable — checked in 4 steps. Free instant port check, no sign-up.

Diagnose

HSTS Preload Checklist

HSTS preload is hard to undo. Verify 3 things first: HTTPS consistency, subdomain readiness, certificate coverage. Free instant check, no sign-up.

Diagnose

HTTP 463 (AWS ALB): Too Many Forwarded IP Addresses

HTTP 463: an AWS ALB got an X-Forwarded-For header with 30+ IPs and refused the request. Trace the proxy chain in 3 steps. Free instant check, no sign-up.

Diagnose

HTTP Error 500.19 Internal Server Error (IIS Config)

HTTP Error 500.19 is IIS failing to read a config file, not your app crashing. The HRESULT hex points to bad XML, a lock, or permissions. Free instant check.

Diagnose

HTTP Error 502.5 ANCM Process Failure (ASP.NET Core)

HTTP Error 502.5 means IIS ran but the ASP.NET Core Module couldn't start your app. Check the runtime, stdout log, and processPath. Free instant check.

Diagnose

HTTP Security Headers Guide

HTTP security headers explained: HSTS, CSP, X-Frame-Options, and more, with copy-paste configs for each. Free instant header check, no sign-up.

Diagnose

Mixed Content Blocked: Fix Insecure Resources on HTTPS Pages

Your HTTPS page loads but scripts or images are blocked as mixed content. Locate the http:// references, tell active from passive, and upgrade them safely.

Diagnose

No 'Access-Control-Allow-Origin' Header (CORS)

No 'Access-Control-Allow-Origin' header? Fix it in 3 checks: failed preflight, exact origin echoed back, and credentials mode. Free instant check, no sign-up.

Diagnose

Port 443 Closed Checklist

Port 443 closed? Trace it in 4 checks: external reachability, listener status, firewall rules, proxy forwarding. Free instant port check, no sign-up.

Diagnose

Risky Open Ports Security Checklist

Open ports you didn't expect? Review each in 4 steps: identify the service, judge exposure, close or restrict, re-scan. Free instant port check, no sign-up.

Diagnose

TTFB / Compression / Cache-Control Checklist

Slow TTFB, missing compression, weak caching? Check all 3 in one pass: response time, Content-Encoding, Cache-Control. Free instant check, no sign-up.

Diagnose

X-Robots-Tag noindex Fix Guide

X-Robots-Tag: noindex blocking your pages? Find the injection point in 3 checks: server config, CDN rules, app middleware. Free instant check, no sign-up.

Diagnose
[Ad] Guide Cluster Inline
All guides