Error map

525 Cloudflare Error 525: SSL Handshake Failed

Cloudflare · layer 3, Edge & web server

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.

525 — Cloudflare Error 525: SSL Handshake Failed (Cloudflare)525521 — Cloudflare Error 521: Web Server Is Down (Cloudflare)521526 — Cloudflare Error 526: Invalid SSL Certificate (Cloudflare)526520 — Cloudflare Error 520: Web Server Returned an Unknown Error (Cloudflare)520ERR_SSL_PROTOCOL_ERROR — ERR_SSL_PROTOCOL_ERROR (This site can't provide a secure connection) (JavaScript)ERR_SSL_PROTOCOL_ER…ERR_TOO_MANY_REDIRECTS (Cloudflare) — ERR_TOO_MANY_REDIRECTS with Cloudflare (Flexible SSL redirect loop) (Cloudflare)ERR_TOO_MANY_REDIRE…421 — HTTP 421 Misdirected Request (HTTP)421CERTIFICATE_VERIFY_FAILED — SSL: CERTIFICATE_VERIFY_FAILED / unable to get local issuer certificate (API)CERTIFICATE_VERIFY_…497 — 400 Bad Request: The plain HTTP request was sent to HTTPS port (Nginx 497) (HTTP)497ERR_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_…ERR_CONNECTION_CLOSED — Chrome: This site can’t be reached — example.com unexpectedly closed the connection. ERR_CONNECTION_CLOSED (Browser)ERR_CONNECTION_CLOS…NET::ERR_CERT_REVOKED — Chrome: Your connection is not private — NET::ERR_CERT_REVOKED (the certificate was revoked) (Browser)NET::ERR_CERT_REVOK…ERR_SSL_OBSOLETE_VERSION — Chrome: Connection not secure — ERR_SSL_OBSOLETE_VERSION (old TLS 1.0/1.1) (Browser)ERR_SSL_OBSOLETE_VE…502 — HTTP 502 Bad Gateway (HTTP)502522 — Cloudflare Error 522: Connection Timed Out (Cloudflare)522ConnectException — java.net.ConnectException: Connection refused (Java)ConnectExceptionERR_CERT_DATE_INVALID — NET::ERR_CERT_DATE_INVALID (certificate expired) (JavaScript)ERR_CERT_DATE_INVAL…Cloudflare Origin CA not trusted — NET::ERR_CERT_AUTHORITY_INVALID with a Cloudflare Origin Certificate (record not proxied) (Cloudflare)Cloudflare Origin C…doesn't include signing certificate — Provisioning profile "x" doesn't include signing certificate "Apple Development: Name (ID)" (iOS)doesn't include sig…500 — HTTP 500 Internal Server Error (HTTP)500301 — HTTP 301 Moved Permanently (HTTP)3011020 — Cloudflare Error 1020: Access Denied (Cloudflare)1020PKIX path building failed — javax.net.ssl.SSLHandshakeException: PKIX path building failed: unable to find valid certification path to requested target (Java)PKIX path building …QuotaExceededError — QuotaExceededError: Failed to execute 'setItem' on 'Storage': Setting the value exceeded the quota (JavaScript)QuotaExceededErrorautoplay blocked — NotAllowedError: play() failed because the user didn't interact with the document first. (JavaScript)autoplay blocked302 — HTTP 302 Found (Temporary Redirect) (HTTP)302303 — HTTP 303 See Other (HTTP)303307 — HTTP 307 Temporary Redirect (HTTP)307400 — HTTP 400 Bad Request (HTTP)400Mixed Content — Mixed Content: The page was loaded over HTTPS, but requested an insecure resource (API)Mixed ContentCLEARTEXT — CLEARTEXT communication to host not permitted by network security policy (Android)CLEARTEXTFailed to fetch — TypeError: Failed to fetch / NetworkError when attempting to fetch resource (JavaScript)Failed to fetchATS — App Transport Security has blocked a cleartext HTTP resource load (iOS)ATSAuthentication failed — fatal: Authentication failed for 'https://github.com/x/y.git/' (Git)Authentication fail…403 — HTTP 403 Forbidden (HTTP)403Primary script unknown — FastCGI sent in stderr: "Primary script unknown" (PHP)Primary script unkn…444 — Nginx 444 No Response (connection closed without response) (HTTP)444Git SSL certificate problem — fatal: unable to access 'https://…': SSL certificate problem: unable to get local issuer certificate (Git)Git SSL certificate…ERR_CERT_AUTHORITY_INVALID — NET::ERR_CERT_AUTHORITY_INVALID (Your connection is not private) (JavaScript)ERR_CERT_AUTHORITY_…ERR_TLS_CERT_ALTNAME_INVALID — Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames (Node.js)ERR_TLS_CERT_ALTNAM…ERR_CONNECTION_RESET — ERR_CONNECTION_RESET: This site can’t be reached — The connection was reset (Browser)ERR_CONNECTION_RESETERR_NETWORK_CHANGED — Chrome: Your connection was interrupted — A network change was detected. ERR_NETWORK_CHANGED (Browser)ERR_NETWORK_CHANGEDERR_EMPTY_RESPONSE — Chrome: This page isn’t working — example.com didn’t send any data. ERR_EMPTY_RESPONSE (Browser)ERR_EMPTY_RESPONSEChallenge failed for domain — Let’s Encrypt / Certbot: Challenge failed for domain example.com — Invalid response from http://example.com/.well-known/acme-challenge/x: 404 (SSL / TLS)Challenge failed fo…NET::ERR_CERT_COMMON_NAME_INVALID — NET::ERR_CERT_COMMON_NAME_INVALID: Your connection is not private (certificate is for a different domain) (SSL / TLS)NET::ERR_CERT_COMMO…no start line — OpenSSL: unable to load certificate / PEM routines:get_name:no start line (key values mismatch) (SSL / TLS)no start linetlsv1 alert protocol version — SSL error: tlsv1 alert protocol version / unsupported protocol / no protocols available (API)tlsv1 alert protoco…ERR_SSL_VERSION_OR_CIPHER_MISMATCH — Chrome: This site can’t provide a secure connection — uses an unsupported protocol. ERR_SSL_VERSION_OR_CIPHER_MISMATCH (Browser)ERR_SSL_VERSION_OR_…HSTS — Chrome: You cannot visit example.com right now because the website uses HSTS (NET::ERR_CERT_… no bypass) (Browser)HSTS

Directly related (12)

521Cloudflare

Cloudflare Error 521: Web Server Is Down

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

526Cloudflare

Cloudflare Error 526: Invalid SSL Certificate

With SSL mode Full (strict), the origin’s certificate is expired, self-signed, or doesn’t match the hostname.

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.

ERR_SSL_PROTOCOL_ERRORJavaScript

ERR_SSL_PROTOCOL_ERROR (This site can't provide a secure connection)

The browser couldn’t negotiate TLS — the server sent an invalid response, often plain HTTP on the HTTPS port.

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.

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…

CERTIFICATE_VERIFY_FAILEDAPI

SSL: CERTIFICATE_VERIFY_FAILED / unable to get local issuer certificate

The client couldn’t verify the server’s TLS certificate chain, so it refused the HTTPS connection.

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).

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…

ERR_CONNECTION_CLOSEDBrowser

Chrome: This site can’t be reached — example.com unexpectedly closed the connection. ERR_CONNECTION_CLOSED

The server closed the connection before finishing the TLS handshake or sending a response — typical for HTTP/HTTPS port mix-ups,…

NET::ERR_CERT_REVOKEDBrowser

Chrome: Your connection is not private — NET::ERR_CERT_REVOKED (the certificate was revoked)

The site’s TLS certificate has been revoked by the certificate authority, so browsers refuse to trust it.

ERR_SSL_OBSOLETE_VERSIONBrowser

Chrome: Connection not secure — ERR_SSL_OBSOLETE_VERSION (old TLS 1.0/1.1)

The server only supports an outdated TLS version that current browsers no longer allow.

Two steps away (36)

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.

522Cloudflare

Cloudflare Error 522: Connection Timed Out

Cloudflare’s TCP connection to your origin timed out — the origin didn’t answer at all.

ConnectExceptionJava

java.net.ConnectException: Connection refused

Nothing is listening at the host:port the Java client connected to.

ERR_CERT_DATE_INVALIDJavaScript

NET::ERR_CERT_DATE_INVALID (certificate expired)

The site’s certificate has expired (or isn’t valid yet) — or the device clock is wrong.

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…

doesn't include signing certificateiOS

Provisioning profile "x" doesn't include signing certificate "Apple Development: Name (ID)"

The profile was created with a different certificate than the one installed in your keychain.

500HTTP

HTTP 500 Internal Server Error

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

301HTTP

HTTP 301 Moved Permanently

The resource has a new permanent URL; clients and search engines should use the address in the Location header from now on.

1020Cloudflare

Cloudflare Error 1020: Access Denied

A Cloudflare firewall/WAF custom rule blocked the request — the visitor’s IP, country, user agent or request pattern matched a bl…

PKIX path building failedJava

javax.net.ssl.SSLHandshakeException: PKIX path building failed: unable to find valid certification path to requested target

Java doesn’t trust the server’s certificate chain (self-signed, corporate proxy CA, or missing intermediate).

QuotaExceededErrorJavaScript

QuotaExceededError: Failed to execute 'setItem' on 'Storage': Setting the value exceeded the quota

localStorage/sessionStorage is full (about 5 MB per origin) or storage is disabled.

autoplay blockedJavaScript

NotAllowedError: play() failed because the user didn't interact with the document first.

The browser blocked media autoplay with sound until the user interacts with the page.

302HTTP

HTTP 302 Found (Temporary Redirect)

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

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.

400HTTP

HTTP 400 Bad Request

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

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.

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.

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…

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.

Authentication failedGit

fatal: Authentication failed for 'https://github.com/x/y.git/'

HTTPS authentication to the Git host failed — wrong or expired credentials, or a password used where a token is required.

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…

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.

Git SSL certificate problemGit

fatal: unable to access 'https://…': SSL certificate problem: unable to get local issuer certificate

Git doesn’t trust the HTTPS server’s certificate — corporate proxy, self-hosted Git with an internal CA, or outdated CA bundle.

ERR_CERT_AUTHORITY_INVALIDJavaScript

NET::ERR_CERT_AUTHORITY_INVALID (Your connection is not private)

The site’s certificate isn’t signed by a CA the browser trusts — self-signed, missing intermediates, or intercepted by a proxy.

ERR_TLS_CERT_ALTNAME_INVALIDNode.js

Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames

The server’s certificate doesn’t cover the hostname you connected to.

ERR_CONNECTION_RESETBrowser

ERR_CONNECTION_RESET: This site can’t be reached — The connection was reset

The connection to the website was cut off mid-way — by the server, a firewall/antivirus, a VPN/proxy, or network equipment.

ERR_NETWORK_CHANGEDBrowser

Chrome: Your connection was interrupted — A network change was detected. ERR_NETWORK_CHANGED

The device switched networks (Wi-Fi to mobile data, VPN on/off, IP renewed) while the page was loading, so the browser aborted th…

ERR_EMPTY_RESPONSEBrowser

Chrome: This page isn’t working — example.com didn’t send any data. ERR_EMPTY_RESPONSE

The server accepted the connection but closed it without sending any HTTP response — a crash, timeout or misconfigured proxy on t…

Challenge failed for domainSSL / TLS

Let’s Encrypt / Certbot: Challenge failed for domain example.com — Invalid response from http://example.com/.well-known/acme-challenge/x: 404

Let’s Encrypt couldn’t verify you control the domain — the HTTP-01 challenge file wasn’t served, or DNS points elsewhere.

NET::ERR_CERT_COMMON_NAME_INVALIDSSL / TLS

NET::ERR_CERT_COMMON_NAME_INVALID: Your connection is not private (certificate is for a different domain)

The certificate presented doesn’t include the hostname you visited — e.g. visiting www.example.com with a certificate only for ex…

no start lineSSL / TLS

OpenSSL: unable to load certificate / PEM routines:get_name:no start line (key values mismatch)

OpenSSL (or Nginx/Apache) couldn’t read the certificate or key — wrong file format, wrong file, or the key doesn’t match the cert…

tlsv1 alert protocol versionAPI

SSL error: tlsv1 alert protocol version / unsupported protocol / no protocols available

The client and server couldn’t agree on a TLS version or cipher, so the HTTPS handshake failed before any HTTP was exchanged.

ERR_SSL_VERSION_OR_CIPHER_MISMATCHBrowser

Chrome: This site can’t provide a secure connection — uses an unsupported protocol. ERR_SSL_VERSION_OR_CIPHER_MISMATCH

The browser and the server could not agree on a TLS version or cipher — the server is too old or misconfigured, or the browser is.

HSTSBrowser

Chrome: You cannot visit example.com right now because the website uses HSTS (NET::ERR_CERT_… no bypass)

The site told browsers to use only valid HTTPS (HSTS), so Chrome hides the "Proceed anyway" link when its certificate has any pro…