Error map

301 HTTP 301 Moved Permanently

HTTP · layer 2, Network

Open the full error page →

Centre: this error. First ring: errors it is linked with (12). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.

301 — HTTP 301 Moved Permanently (HTTP)301404 — HTTP 404 Not Found (HTTP)404302 — HTTP 302 Found (Temporary Redirect) (HTTP)302520 — Cloudflare Error 520: Web Server Returned an Unknown Error (Cloudflare)520304 — HTTP 304 Not Modified (HTTP)304508 — HTTP 508 Loop Detected (Resource Limit Is Reached) (HTTP)508ERR_TOO_MANY_REDIRECTS (Cloudflare) — ERR_TOO_MANY_REDIRECTS with Cloudflare (Flexible SSL redirect loop) (Cloudflare)ERR_TOO_MANY_REDIRE…webhook delivery failed — Webhook delivery failed (endpoint returned non-2xx / timed out) (API)webhook delivery fa…410 — HTTP 410 Gone (HTTP)410Mixed Content — Mixed Content: The page was loaded over HTTPS, but requested an insecure resource (API)Mixed Content303 — HTTP 303 See Other (HTTP)303307 — HTTP 307 Temporary Redirect (HTTP)307497 — 400 Bad Request: The plain HTTP request was sent to HTTPS port (Nginx 497) (HTTP)497403 — HTTP 403 Forbidden (HTTP)403405 — HTTP 405 Method Not Allowed (HTTP)405SyntaxError: JSON — SyntaxError: Unexpected token < in JSON at position 0 (JavaScript)SyntaxError: JSON401 — HTTP 401 Unauthorized (HTTP)401200 — HTTP 200 OK (but something is still wrong) (HTTP)200308 — HTTP 308 Permanent Redirect (HTTP)308500 — HTTP 500 Internal Server Error (HTTP)500502 — HTTP 502 Bad Gateway (HTTP)502521 — Cloudflare Error 521: Web Server Is Down (Cloudflare)521412 — HTTP 412 Precondition Failed (HTTP)412428 — HTTP 428 Precondition Required (HTTP)42857014 — ERROR: canceling statement due to statement timeout (PostgreSQL)57014429 — HTTP 429 Too Many Requests (HTTP)429503 — HTTP 503 Service Unavailable (HTTP)5031040 — MySQL ERROR 1040 (08004): Too many connections (MySQL)1040525 — Cloudflare Error 525: SSL Handshake Failed (Cloudflare)525ERR_SSL_VERSION_OR_CIPHER_MISMATCH (Cloudflare) — ERR_SSL_VERSION_OR_CIPHER_MISMATCH on a Cloudflare site (certificate not issued / multi-level subdomain) (Cloudflare)ERR_SSL_VERSION_OR_…Cloudflare Origin CA not trusted — NET::ERR_CERT_AUTHORITY_INVALID with a Cloudflare Origin Certificate (record not proxied) (Cloudflare)Cloudflare Origin C…504 — HTTP 504 Gateway Timeout (HTTP)504CORS — CORS Error: No 'Access-Control-Allow-Origin' header is present (API)CORSwebhook signature — Webhook signature verification failed (Stripe, Razorpay, GitHub…) (API)webhook signature400 — HTTP 400 Bad Request (HTTP)400resource_missing — API Error: No such object / resource_missing (resource not found by ID) (API)resource_missingapi_version_invalid — API Error: Invalid or unsupported API version (API)api_version_invalidFailed to fetch — TypeError: Failed to fetch / NetworkError when attempting to fetch resource (JavaScript)Failed to fetchCLEARTEXT — CLEARTEXT communication to host not permitted by network security policy (Android)CLEARTEXTATS — App Transport Security has blocked a cleartext HTTP resource load (iOS)ATS100 — HTTP 100 Continue (HTTP)100103 — HTTP 103 Early Hints (HTTP)103ERR_TOO_MANY_REDIRECTS (WordPress) — WordPress: ERR_TOO_MANY_REDIRECTS / redirected you too many times on wp-admin or the whole site (WordPress)ERR_TOO_MANY_REDIRE…421 — HTTP 421 Misdirected Request (HTTP)421Unable to configure HTTPS endpoint — Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found or is out of date (.NET)Unable to configure…ERR_TOO_MANY_REDIRECTS — Chrome: This page isn’t working — example.com redirected you too many times. ERR_TOO_MANY_REDIRECTS (Browser)ERR_TOO_MANY_REDIRE…Primary script unknown — FastCGI sent in stderr: "Primary script unknown" (PHP)Primary script unkn…444 — Nginx 444 No Response (connection closed without response) (HTTP)444495 — Nginx 400: The SSL certificate error (495 / 496 client certificate) (HTTP)495

Directly related (12)

404HTTP

HTTP 404 Not Found

The server can’t find anything at the requested URL.

302HTTP

HTTP 302 Found (Temporary Redirect)

The resource is temporarily at another URL; clients should keep using the original URL for future requests.

520Cloudflare

Cloudflare Error 520: Web Server Returned an Unknown Error

Cloudflare connected to your origin, but the origin returned an empty, unknown or invalid response.

304HTTP

HTTP 304 Not Modified

The cached copy is still valid, so the server sends no body and the client reuses its cache.

508HTTP

HTTP 508 Loop Detected (Resource Limit Is Reached)

Either the server detected an infinite loop (WebDAV) or — much more often — a cPanel/CloudLinux host is saying your account hit i…

ERR_TOO_MANY_REDIRECTS (Cloudflare)Cloudflare

ERR_TOO_MANY_REDIRECTS with Cloudflare (Flexible SSL redirect loop)

The page redirects to itself forever — classic cause: Cloudflare SSL mode “Flexible” while the origin redirects HTTP to HTTPS.

webhook delivery failedAPI

Webhook delivery failed (endpoint returned non-2xx / timed out)

The provider tried to send a webhook to your endpoint but didn’t get a timely 2xx response, so it marks the delivery failed and r…

410HTTP

HTTP 410 Gone

The resource used to exist but was intentionally and permanently removed, with no forwarding address.

Mixed ContentAPI

Mixed Content: The page was loaded over HTTPS, but requested an insecure resource

An HTTPS page tried to load a script, API or image over plain HTTP, and the browser blocked (or warned about) it.

303HTTP

HTTP 303 See Other

A redirect telling the client to fetch the result from another URL with GET — used after a form POST so refreshing doesn’t resubm…

307HTTP

HTTP 307 Temporary Redirect

A temporary redirect that keeps the original method and body — a POST stays a POST at the new URL.

497HTTP

400 Bad Request: The plain HTTP request was sent to HTTPS port (Nginx 497)

Plain http:// traffic arrived on a port Nginx expects to be TLS (443 or a custom SSL port).

Two steps away (36)

403HTTP

HTTP 403 Forbidden

The server understood the request but refuses to authorize it — you (or the server process) are not allowed to access this resour…

405HTTP

HTTP 405 Method Not Allowed

The URL exists, but it doesn’t accept the HTTP method you used (e.g. POST to a GET-only route).

SyntaxError: JSONJavaScript

SyntaxError: Unexpected token < in JSON at position 0

`JSON.parse()` / `response.json()` received something that isn’t JSON — very often an HTML error page.

401HTTP

HTTP 401 Unauthorized

The request has no valid authentication credentials — you need to log in or send a valid token.

200HTTP

HTTP 200 OK (but something is still wrong)

The request succeeded at the HTTP level — yet the page is blank, the data is wrong, or an error is hidden inside the response bod…

308HTTP

HTTP 308 Permanent Redirect

A permanent redirect that, unlike 301, guarantees the method and body are kept.

500HTTP

HTTP 500 Internal Server Error

The server hit an unexpected condition — usually an unhandled exception or misconfiguration in the application.

502HTTP

HTTP 502 Bad Gateway

A proxy or gateway (Nginx, load balancer, CDN) got an invalid response — or no response — from the upstream server behind it.

521Cloudflare

Cloudflare Error 521: Web Server Is Down

Cloudflare couldn’t connect to your origin — the connection was refused.

412HTTP

HTTP 412 Precondition Failed

A conditional request header (If-Match, If-Unmodified-Since) didn’t match the current state of the resource.

428HTTP

HTTP 428 Precondition Required

The server requires a conditional request (If-Match / If-Unmodified-Since) to prevent lost updates, and you didn’t send one.

57014PostgreSQL

ERROR: canceling statement due to statement timeout

A query ran longer than statement_timeout and PostgreSQL cancelled it.

429HTTP

HTTP 429 Too Many Requests

You’ve hit a rate limit — too many requests in a given time window. Slow down and retry later.

503HTTP

HTTP 503 Service Unavailable

The server is temporarily unable to handle the request — overloaded, in maintenance, or has no healthy backends.

1040MySQL

MySQL ERROR 1040 (08004): Too many connections

MySQL reached `max_connections` and refuses new clients.

525Cloudflare

Cloudflare Error 525: SSL Handshake Failed

Cloudflare couldn’t complete a TLS handshake with your origin (SSL mode Full / Full strict).

ERR_SSL_VERSION_OR_CIPHER_MISMATCH (Cloudflare)Cloudflare

ERR_SSL_VERSION_OR_CIPHER_MISMATCH on a Cloudflare site (certificate not issued / multi-level subdomain)

Cloudflare has no edge certificate for the hostname — the Universal SSL cert is still pending, or the hostname is a second-level…

Cloudflare Origin CA not trustedCloudflare

NET::ERR_CERT_AUTHORITY_INVALID with a Cloudflare Origin Certificate (record not proxied)

Cloudflare Origin CA certificates are only trusted by Cloudflare — visitors reaching the origin directly (grey-cloud record, dire…

504HTTP

HTTP 504 Gateway Timeout

A proxy or gateway waited too long for the upstream server to respond and gave up.

CORSAPI

CORS Error: No 'Access-Control-Allow-Origin' header is present

The browser blocked a cross-origin request because the server’s response didn’t include the CORS headers allowing your site’s ori…

webhook signatureAPI

Webhook signature verification failed (Stripe, Razorpay, GitHub…)

Your endpoint computed a different HMAC signature than the one the provider sent, so the webhook is rejected.

400HTTP

HTTP 400 Bad Request

The server could not understand the request because its syntax, headers or body are malformed or invalid.

resource_missingAPI

API Error: No such object / resource_missing (resource not found by ID)

The endpoint exists, but the ID you passed — in the URL or as a reference in the body — doesn’t match any record the caller can s…

api_version_invalidAPI

API Error: Invalid or unsupported API version

The API version you requested — in the URL, a header or the SDK config — doesn’t exist or has been retired.

Failed to fetchJavaScript

TypeError: Failed to fetch / NetworkError when attempting to fetch resource

The browser couldn’t complete the request at the network level — CORS, DNS, offline, blocked mixed content, or the server refused…

CLEARTEXTAndroid

CLEARTEXT communication to host not permitted by network security policy

Android 9+ blocks plain `http://` requests by default; the app tried to call a non-HTTPS URL.

ATSiOS

App Transport Security has blocked a cleartext HTTP resource load

iOS blocked an `http://` request (or a weak-TLS HTTPS one) because App Transport Security requires secure connections.

100HTTP

HTTP 100 Continue

An interim response telling the client to go ahead and send the request body — normal when the client sent Expect: 100-continue.

103HTTP

HTTP 103 Early Hints

An interim response that sends Link headers early so the browser can preload CSS, fonts or scripts while the server is still buil…

ERR_TOO_MANY_REDIRECTS (WordPress)WordPress

WordPress: ERR_TOO_MANY_REDIRECTS / redirected you too many times on wp-admin or the whole site

WordPress and the server/proxy keep redirecting to each other — usually siteurl/home mismatch (http vs https, www vs non-www) or…

421HTTP

HTTP 421 Misdirected Request

The request reached a server that isn’t configured for that host name — usually HTTP/2 connection reuse across domains sharing a…

Unable to configure HTTPS endpoint.NET

Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found or is out of date

Kestrel was told to listen on HTTPS but has no certificate — the ASP.NET Core dev certificate is missing/expired, or production d…

ERR_TOO_MANY_REDIRECTSBrowser

Chrome: This page isn’t working — example.com redirected you too many times. ERR_TOO_MANY_REDIRECTS

The page keeps redirecting to itself or in a loop, so the browser gives up after about 20 redirects.

Primary script unknownPHP

FastCGI sent in stderr: "Primary script unknown"

Nginx passed a script path to PHP-FPM that PHP-FPM couldn’t find — usually a wrong SCRIPT_FILENAME or root.

444HTTP

Nginx 444 No Response (connection closed without response)

An Nginx-specific code: the server deliberately closed the connection without sending anything — a rule is dropping the request.

495HTTP

Nginx 400: The SSL certificate error (495 / 496 client certificate)

Nginx rejected the request because the client certificate was invalid (495) or missing (496) on a site that requires mutual TLS.