Error map

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

Git · layer 7, Build & delivery

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.

Git SSL certificate problem — fatal: unable to access 'https://…': SSL certificate problem: unable to get local issuer certificate (Git)Git SSL cer…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…cURL 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 …UNABLE_TO_GET_ISSUER_CERT_LOCALLY — npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY (npm)UNABLE_TO_GET_ISSUE…tlsv1 alert protocol version — SSL error: tlsv1 alert protocol version / unsupported protocol / no protocols available (API)tlsv1 alert protoco…Pending validation — ACM certificate stuck in Pending validation (AWS)Pending validation421 — HTTP 421 Misdirected Request (HTTP)421CERTIFICATE_VERIFY_FAILED — SSL: CERTIFICATE_VERIFY_FAILED / unable to get local issuer certificate (API)CERTIFICATE_VERIFY_…password auth removed — remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. (Git)password auth remov…Mixed Content — Mixed Content: The page was loaded over HTTPS, but requested an insecure resource (API)Mixed Contentx509: certificate signed by unknown authority — x509: certificate signed by unknown authority (docker pull/login) (Docker)x509: certificate s…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…ERR_SSL_PROTOCOL_ERROR — ERR_SSL_PROTOCOL_ERROR (This site can't provide a secure connection) (JavaScript)ERR_SSL_PROTOCOL_ER…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 28SELF_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…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)OutOfMemoryErrorERR_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…407 — HTTP 407 Proxy Authentication Required (HTTP)407Client.Timeout exceeded — Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded) (Docker)Client.Timeout exce…The SSL connection could not be established — HttpRequestException: The SSL connection could not be established, see inner exception. (AuthenticationException: The remote certificate is invalid) (.NET)The SSL connection …ECONNREFUSED — Error: connect ECONNREFUSED 127.0.0.1:5432 (Node.js)ECONNREFUSED408 — HTTP 408 Request Timeout (HTTP)408Failed to fetch — TypeError: Failed to fetch / NetworkError when attempting to fetch resource (JavaScript)Failed to fetchENOTFOUND — Error: getaddrinfo ENOTFOUND host / Name or service not known (API)ENOTFOUNDCould not resolve host — fatal: unable to access 'https://github.com/…': Could not resolve host: github.com (Git)Could not resolve h…UnknownHostException — java.net.UnknownHostException: api.example.com (Java)UnknownHostException400 — HTTP 400 Bad Request (HTTP)400502 — HTTP 502 Bad Gateway (HTTP)502CLEARTEXT — CLEARTEXT communication to host not permitted by network security policy (Android)CLEARTEXT520 — Cloudflare Error 520: Web Server Returned an Unknown Error (Cloudflare)520ATS — App Transport Security has blocked a cleartext HTTP resource load (iOS)ATS525 — Cloudflare Error 525: SSL Handshake Failed (Cloudflare)525publickey — Git: Permission denied (publickey). fatal: Could not read from remote repository. (Git)publickeyRepository not found — remote: Repository not found. fatal: repository 'https://github.com/x/y.git/' not found (Git)Repository not foundAuthentication failed — fatal: Authentication failed for 'https://github.com/x/y.git/' (Git)Authentication fail…CORS — CORS Error: No 'Access-Control-Allow-Origin' header is present (API)CORSblocked a frame — SecurityError: Blocked a frame with origin "x" from accessing a cross-origin frame. (JavaScript)blocked a frameCSP violation — Refused to load the script because it violates the following Content Security Policy directive (JavaScript)CSP violationpull access denied — pull access denied for image, repository does not exist or may require 'docker login' (Docker)pull access deniedmanifest unknown — manifest for image:tag not found: manifest unknown (Docker)manifest unknowntoomanyrequests — toomanyrequests: You have reached your pull rate limit (Docker Hub) (Docker)toomanyrequests

Directly related (12)

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.

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

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.

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.

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.

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.

password auth removedGit

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.

GitHub no longer accepts account passwords for Git over HTTPS.

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.

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…

Two steps away (36)

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.

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.

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.

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.

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.

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…

407HTTP

HTTP 407 Proxy Authentication Required

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

Client.Timeout exceededDocker

Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded)

Docker couldn’t reach the registry in time — a network, DNS, proxy or firewall problem between your machine and the registry.

The SSL connection could not be established.NET

HttpRequestException: The SSL connection could not be established, see inner exception. (AuthenticationException: The remote certificate is invalid)

HttpClient couldn’t complete the TLS handshake — untrusted/self-signed certificate, name mismatch, expired certificate, or TLS ve…

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.

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…

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.

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.

UnknownHostExceptionJava

java.net.UnknownHostException: api.example.com

DNS resolution failed for the hostname.

400HTTP

HTTP 400 Bad Request

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

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.

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.

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.

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.

525Cloudflare

Cloudflare Error 525: SSL Handshake Failed

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

publickeyGit

Git: Permission denied (publickey). fatal: Could not read from remote repository.

SSH authentication to GitHub/GitLab/Bitbucket failed — no key, wrong key, or the key isn’t added to your account.

Repository not foundGit

remote: Repository not found. fatal: repository 'https://github.com/x/y.git/' not found

GitHub/GitLab says the repository doesn’t exist — or you lack access to a private repo.

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.

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…

blocked a frameJavaScript

SecurityError: Blocked a frame with origin "x" from accessing a cross-origin frame.

Script tried to read or modify an iframe (or window) from another origin.

CSP violationJavaScript

Refused to load the script because it violates the following Content Security Policy directive

The page’s Content-Security-Policy doesn’t allow that script, style, image or connection source.

pull access deniedDocker

pull access denied for image, repository does not exist or may require 'docker login'

Docker couldn’t pull the image: the name or tag is wrong, the repository is private and you’re not logged in, or it doesn’t exist…

manifest unknownDocker

manifest for image:tag not found: manifest unknown

The repository exists, but the tag you asked for doesn’t — it was never pushed, was deleted, or is misspelled.

toomanyrequestsDocker

toomanyrequests: You have reached your pull rate limit (Docker Hub)

Docker Hub limits anonymous and free pulls; your IP or account has used its quota for the current window.