Error map

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

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.

tlsv1 alert protocol version — SSL error: tlsv1 alert protocol version / unsupported protocol / no protocols available (API)tlsv1 alert…Git SSL certificate problem — fatal: unable to access 'https://…': SSL certificate problem: unable to get local issuer certificate (Git)Git SSL certificate…ERR_CONNECTION_TIMED_OUT — ERR_CONNECTION_TIMED_OUT: This site can’t be reached — example.com took too long to respond (Browser)ERR_CONNECTION_TIME…lookup registry-1.docker.io: no such host — dial tcp: lookup registry-1.docker.io: no such host / Temporary failure in name resolution during docker build (Docker)lookup registry-1.d…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 fetchConnectException — java.net.ConnectException: Connection refused (Java)ConnectExceptionSocketException reset — java.net.SocketException: Connection reset (Java)SocketException res…2003 — MySQL ERROR 2003 (HY000): Can't connect to MySQL server on 'host:3306' (111) (MySQL)2003ERR_CONNECTION_RESET — ERR_CONNECTION_RESET: This site can’t be reached — The connection was reset (Browser)ERR_CONNECTION_RESETENOTFOUND — Error: getaddrinfo ENOTFOUND host / Name or service not known (API)ENOTFOUNDERR_SSL_PROTOCOL_ERROR — ERR_SSL_PROTOCOL_ERROR (This site can't provide a secure connection) (JavaScript)ERR_SSL_PROTOCOL_ER…CERTIFICATE_VERIFY_FAILED — SSL: CERTIFICATE_VERIFY_FAILED / unable to get local issuer certificate (API)CERTIFICATE_VERIFY_…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)CLEARTEXTECONNREFUSED — Error: connect ECONNREFUSED 127.0.0.1:5432 (Node.js)ECONNREFUSED407 — HTTP 407 Proxy Authentication Required (HTTP)407408 — HTTP 408 Request Timeout (HTTP)408ECONNRESET — Error: socket hang up / read ECONNRESET (API)ECONNRESETELIFECYCLE — npm ERR! code ELIFECYCLE / Command failed with exit code 1 (npm)ELIFECYCLEgyp ERR! — gyp ERR! build error / node-gyp rebuild failed (npm)gyp ERR!504 — HTTP 504 Gateway Timeout (HTTP)504522 — Cloudflare Error 522: Connection Timed Out (Cloudflare)522Task timed out — AWS Lambda: Task timed out after X seconds (AWS)Task timed outPKIX 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_…ERR_CERT_DATE_INVALID — NET::ERR_CERT_DATE_INVALID (certificate expired) (JavaScript)ERR_CERT_DATE_INVAL…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…521 — Cloudflare Error 521: Web Server Is Down (Cloudflare)521UnknownHostException — java.net.UnknownHostException: api.example.com (Java)UnknownHostExceptionConnectionRefusedError — ConnectionRefusedError: [Errno 111] Connection refused (Python)ConnectionRefusedEr…body already used — TypeError: Failed to execute 'json' on 'Response': body stream already read (JavaScript)body already usedfetch failed — TypeError: fetch failed (cause: ConnectTimeoutError / ECONNREFUSED / UND_ERR) (Node.js)fetch failedcURL error 6 — cURL error 6: Could not resolve host: api.example.com (PHP)cURL error 62002 — MySQL ERROR 2002 (HY000): Can't connect to local MySQL server through socket (MySQL)20022006 — MySQL ERROR 2006 (HY000): MySQL server has gone away (MySQL)20061040 — MySQL ERROR 1040 (08004): Too many connections (MySQL)1040RPC failed — error: RPC failed; HTTP 400 curl 22 / curl 92 HTTP/2 stream was not closed cleanly — the remote end hung up unexpectedly (Git)RPC failedCould not resolve host — fatal: unable to access 'https://github.com/…': Could not resolve host: github.com (Git)Could not resolve h…port 22 timed out — ssh: connect to host github.com port 22: Connection timed out (Git)port 22 timed outdaemon — Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (Docker)daemonearly EOF — fatal: early EOF — fatal: index-pack failed (Git)early EOFERR_NAME_NOT_RESOLVED — net::ERR_NAME_NOT_RESOLVED (This site can't be reached — server IP address could not be found) (JavaScript)ERR_NAME_NOT_RESOLV…525 — Cloudflare Error 525: SSL Handshake Failed (Cloudflare)525QuotaExceededError — 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 blocked

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.

ERR_CONNECTION_TIMED_OUTBrowser

ERR_CONNECTION_TIMED_OUT: This site can’t be reached — example.com took too long to respond

The browser waited for the server but got no response — the server is down/unreachable, a firewall drops traffic, or DNS points t…

lookup registry-1.docker.io: no such hostDocker

dial tcp: lookup registry-1.docker.io: no such host / Temporary failure in name resolution during docker build

DNS isn’t working for the Docker daemon or inside build containers, so pulls and package downloads fail.

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…

ConnectExceptionJava

java.net.ConnectException: Connection refused

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

SocketException resetJava

java.net.SocketException: Connection reset

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

2003MySQL

MySQL ERROR 2003 (HY000): Can't connect to MySQL server on 'host:3306' (111)

The client couldn’t reach MySQL over TCP — server down, wrong host/port, firewall, or MySQL bound to localhost only.

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.

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.

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.

Two steps away (36)

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.

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.

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.

407HTTP

HTTP 407 Proxy Authentication Required

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

408HTTP

HTTP 408 Request Timeout

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

ECONNRESETAPI

Error: socket hang up / read ECONNRESET

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

ELIFECYCLEnpm

npm ERR! code ELIFECYCLE / Command failed with exit code 1

An npm script (build, start, test, postinstall) exited with an error. ELIFECYCLE is only the wrapper — the real error is printed…

gyp ERR!npm

gyp ERR! build error / node-gyp rebuild failed

A dependency with native C/C++ code couldn’t compile — missing build tools, Python, or an unsupported Node version.

504HTTP

HTTP 504 Gateway Timeout

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

522Cloudflare

Cloudflare Error 522: Connection Timed Out

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

Task timed outAWS

AWS Lambda: Task timed out after X seconds

The function ran longer than its configured timeout (default 3 seconds) and Lambda stopped it.

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.

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.

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.

521Cloudflare

Cloudflare Error 521: Web Server Is Down

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

UnknownHostExceptionJava

java.net.UnknownHostException: api.example.com

DNS resolution failed for the hostname.

ConnectionRefusedErrorPython

ConnectionRefusedError: [Errno 111] Connection refused

Nothing is listening on the host/port Python tried to connect to.

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

fetch failedNode.js

TypeError: fetch failed (cause: ConnectTimeoutError / ECONNREFUSED / UND_ERR)

Node’s built-in fetch (undici) couldn’t complete the request; the real reason is in error.cause.

cURL error 6PHP

cURL error 6: Could not resolve host: api.example.com

PHP cURL couldn’t resolve the hostname via DNS.

2002MySQL

MySQL ERROR 2002 (HY000): Can't connect to local MySQL server through socket

The client couldn’t reach the MySQL server — it isn’t running, or the client is looking for the socket/port in the wrong place.

2006MySQL

MySQL ERROR 2006 (HY000): MySQL server has gone away

The connection to MySQL was closed — usually by a timeout or a packet larger than `max_allowed_packet`.

1040MySQL

MySQL ERROR 1040 (08004): Too many connections

MySQL reached `max_connections` and refuses new clients.

RPC failedGit

error: RPC failed; HTTP 400 curl 22 / curl 92 HTTP/2 stream was not closed cleanly — the remote end hung up unexpectedly

A large HTTPS push/clone broke mid-transfer — size limits, proxies or flaky HTTP/2.

Could not resolve hostGit

fatal: unable to access 'https://github.com/…': Could not resolve host: github.com

DNS lookup for the Git host failed from this machine.

port 22 timed outGit

ssh: connect to host github.com port 22: Connection timed out

Outbound SSH on port 22 is blocked (firewall, corporate or public Wi-Fi).

daemonDocker

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

The docker CLI can’t talk to the Docker engine — it isn’t running, or your user can’t access the socket.

early EOFGit

fatal: early EOF — fatal: index-pack failed

A clone or fetch was cut off mid-transfer.

ERR_NAME_NOT_RESOLVEDJavaScript

net::ERR_NAME_NOT_RESOLVED (This site can't be reached — server IP address could not be found)

DNS couldn’t resolve the hostname in the browser.

525Cloudflare

Cloudflare Error 525: SSL Handshake Failed

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

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.