Error map

CERTIFICATE_VERIFY_FAILED SSL: CERTIFICATE_VERIFY_FAILED / unable to get local issuer certificate

API · layer 4, Application & API

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.

CERTIFICATE_VERIFY_FAILED — SSL: CERTIFICATE_VERIFY_FAILED / unable to get local issuer certificate (API)CERTIFICATE…Git SSL certificate problem — fatal: unable to access 'https://…': SSL certificate problem: unable to get local issuer certificate (Git)Git SSL certificate…ETIMEDOUT — API Request Timed Out (ETIMEDOUT / ReadTimeout / timeout of 30000ms exceeded) (API)ETIMEDOUTERR_TLS_CERT_ALTNAME_INVALID — Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames (Node.js)ERR_TLS_CERT_ALTNAM…Failed to fetch — TypeError: Failed to fetch / NetworkError when attempting to fetch resource (JavaScript)Failed to fetch526 — Cloudflare Error 526: Invalid SSL Certificate (Cloudflare)526520 — Cloudflare Error 520: Web Server Returned an Unknown Error (Cloudflare)520525 — Cloudflare Error 525: SSL Handshake Failed (Cloudflare)525cURL error 35 — cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to host:443 (PHP)cURL error 351013 — Cloudflare Error 1013: HTTP hostname and TLS SNI hostname mismatch (Cloudflare)1013PKIX path building failed — javax.net.ssl.SSLHandshakeException: PKIX path building failed: unable to find valid certification path to requested target (Java)PKIX path building …ERR_CERT_AUTHORITY_INVALID — NET::ERR_CERT_AUTHORITY_INVALID (Your connection is not private) (JavaScript)ERR_CERT_AUTHORITY_…tlsv1 alert protocol version — SSL error: tlsv1 alert protocol version / unsupported protocol / no protocols available (API)tlsv1 alert protoco…Mixed 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)CLEARTEXTATS — App Transport Security has blocked a cleartext HTTP resource load (iOS)ATSECONNREFUSED — Error: connect ECONNREFUSED 127.0.0.1:5432 (Node.js)ECONNREFUSED408 — HTTP 408 Request Timeout (HTTP)408504 — HTTP 504 Gateway Timeout (HTTP)504ERR_CERT_DATE_INVALID — NET::ERR_CERT_DATE_INVALID (certificate expired) (JavaScript)ERR_CERT_DATE_INVAL…ERR_SSL_PROTOCOL_ERROR — ERR_SSL_PROTOCOL_ERROR (This site can't provide a secure connection) (JavaScript)ERR_SSL_PROTOCOL_ER…SELF_SIGNED_CERT_IN_CHAIN — npm ERR! code SELF_SIGNED_CERT_IN_CHAIN — request to https://registry.npmjs.org/ failed, reason: self signed certificate in certificate chain (npm)SELF_SIGNED_CERT_IN…SyntaxError: JSON — SyntaxError: Unexpected token < in JSON at position 0 (JavaScript)SyntaxError: JSONCORS — CORS Error: No 'Access-Control-Allow-Origin' header is present (API)CORSUnhandledPromiseRejection — Node.js: [UnhandledPromiseRejection] — This error originated either by throwing inside of an async function without a catch block (Node.js)UnhandledPromiseRej…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…Challenge 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…500 — HTTP 500 Internal Server Error (HTTP)500502 — HTTP 502 Bad Gateway (HTTP)502521 — Cloudflare Error 521: Web Server Is Down (Cloudflare)521421 — HTTP 421 Misdirected Request (HTTP)421497 — 400 Bad Request: The plain HTTP request was sent to HTTPS port (Nginx 497) (HTTP)497ERR_TOO_MANY_REDIRECTS (Cloudflare) — ERR_TOO_MANY_REDIRECTS with Cloudflare (Flexible SSL redirect loop) (Cloudflare)ERR_TOO_MANY_REDIRE…SocketException reset — java.net.SocketException: Connection reset (Java)SocketException res…body already used — TypeError: Failed to execute 'json' on 'Response': body stream already read (JavaScript)body already usedcURL error 28 — cURL error 28: Operation timed out after 30001 milliseconds with 0 bytes received (PHP)cURL error 28UNABLE_TO_GET_ISSUER_CERT_LOCALLY — npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY (npm)UNABLE_TO_GET_ISSUE…SSL required — server does not support SSL, but SSL was required / no pg_hba.conf entry … no encryption (PostgreSQL)SSL requiredcertificate chain not trusted — SQL Server: The certificate chain was issued by an authority that is not trusted. (SQL)certificate chain n…OutOfMemoryError — java.lang.OutOfMemoryError: Java heap space (Java)OutOfMemoryErrorPending validation — ACM certificate stuck in Pending validation (AWS)Pending validationx509: certificate signed by unknown authority — x509: certificate signed by unknown authority (docker pull/login) (Docker)x509: certificate s…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 blockedclipboard write blocked — NotAllowedError: Failed to execute 'writeText' on 'Clipboard': Document is not focused. (JavaScript)clipboard write blo…407 — HTTP 407 Proxy Authentication Required (HTTP)407ECONNRESET — Error: socket hang up / read ECONNRESET (API)ECONNRESETENOTFOUND — Error: getaddrinfo ENOTFOUND host / Name or service not known (API)ENOTFOUND

Directly related (12)

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.

ETIMEDOUTAPI

API Request Timed Out (ETIMEDOUT / ReadTimeout / timeout of 30000ms exceeded)

The client gave up waiting — either for the connection to open or for the response to arrive.

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.

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…

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.

525Cloudflare

Cloudflare Error 525: SSL Handshake Failed

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

cURL error 35PHP

cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to host:443

The TLS handshake failed — protocol/cipher mismatch, a proxy interfering, or the server closed the connection.

1013Cloudflare

Cloudflare Error 1013: HTTP hostname and TLS SNI hostname mismatch

The TLS SNI (the hostname used for the certificate) differs from the HTTP Host header in the same request.

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

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.

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.

Two steps away (36)

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.

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.

ECONNREFUSEDNode.js

Error: connect ECONNREFUSED 127.0.0.1:5432

Nothing is listening at that host:port — the target service is down or you’re connecting to the wrong address.

408HTTP

HTTP 408 Request Timeout

The server closed the connection because the client took too long to send the complete request.

504HTTP

HTTP 504 Gateway Timeout

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

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.

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.

SELF_SIGNED_CERT_IN_CHAINnpm

npm ERR! code SELF_SIGNED_CERT_IN_CHAIN — request to https://registry.npmjs.org/ failed, reason: self signed certificate in certificate chain

A corporate proxy or antivirus is intercepting HTTPS, and npm doesn’t trust its certificate.

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.

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…

UnhandledPromiseRejectionNode.js

Node.js: [UnhandledPromiseRejection] — This error originated either by throwing inside of an async function without a catch block

A promise rejected and nothing handled it; since Node 15 this crashes the process.

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.

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.

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.

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…

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

SocketException resetJava

java.net.SocketException: Connection reset

The remote side closed the TCP connection abruptly while Java was reading or writing.

body already usedJavaScript

TypeError: Failed to execute 'json' on 'Response': body stream already read

A fetch Response body was consumed twice (e.g. calling .text() then .json()).

cURL error 28PHP

cURL error 28: Operation timed out after 30001 milliseconds with 0 bytes received

A PHP cURL (or Guzzle) request timed out before the remote server answered.

UNABLE_TO_GET_ISSUER_CERT_LOCALLYnpm

npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY

npm can’t verify the registry’s certificate chain — missing intermediate or intercepted connection.

SSL requiredPostgreSQL

server does not support SSL, but SSL was required / no pg_hba.conf entry … no encryption

The client and server disagree about SSL — the client requires it but the server doesn’t offer it, or the server requires it and…

certificate chain not trustedSQL

SQL Server: The certificate chain was issued by an authority that is not trusted.

The client requires an encrypted connection and doesn’t trust SQL Server’s (often self-signed) certificate.

OutOfMemoryErrorJava

java.lang.OutOfMemoryError: Java heap space

The JVM ran out of heap memory and garbage collection couldn’t free enough.

Pending validationAWS

ACM certificate stuck in Pending validation

ACM is waiting to see the DNS (or email) validation record — it wasn’t created, was created in the wrong DNS zone, or has a typo.

x509: certificate signed by unknown authorityDocker

x509: certificate signed by unknown authority (docker pull/login)

The registry’s TLS certificate isn’t trusted by the Docker daemon — a private CA, self-signed certificate, or a TLS-inspecting co…

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.

clipboard write blockedJavaScript

NotAllowedError: Failed to execute 'writeText' on 'Clipboard': Document is not focused.

The Clipboard API refused to write — the page isn’t focused, there was no user gesture, or the context isn’t secure.

407HTTP

HTTP 407 Proxy Authentication Required

A proxy between you and the server requires credentials before it will forward your request.

ECONNRESETAPI

Error: socket hang up / read ECONNRESET

The other side closed the TCP connection abruptly while your client was still using it.

ENOTFOUNDAPI

Error: getaddrinfo ENOTFOUND host / Name or service not known

DNS lookup for the hostname failed — the name is wrong, doesn’t exist, or this machine can’t resolve it.