Error map

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

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.

495 — Nginx 400: The SSL certificate error (495 / 496 client certificate) (HTTP)495403 — HTTP 403 Forbidden (HTTP)403400 — HTTP 400 Bad Request (HTTP)400Primary script unknown — FastCGI sent in stderr: "Primary script unknown" (PHP)Primary script unkn…1013 — Cloudflare Error 1013: HTTP hostname and TLS SNI hostname mismatch (Cloudflare)1013403 Forbidden wp-admin — WordPress: 403 Forbidden on wp-admin, wp-login.php or admin-ajax.php (WordPress)403 Forbidden wp-ad…tlsv1 alert protocol version — SSL error: tlsv1 alert protocol version / unsupported protocol / no protocols available (API)tlsv1 alert protoco…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)497bind() failed (98: Address already in use) — nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) (Linux)bind() failed (98: …ERR_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_…404 except homepage — WordPress: 404 Not Found on every page except the homepage (permalinks / .htaccess / Nginx rules) (WordPress)404 except homepagepublickey — Git: Permission denied (publickey). fatal: Could not read from remote repository. (Git)publickeyAccessDenied — AWS S3: AccessDenied (403) when calling GetObject / PutObject (AWS)AccessDeniedEACCES — Linux: Permission denied (Linux)EACCES401 — HTTP 401 Unauthorized (HTTP)401405 — HTTP 405 Method Not Allowed (HTTP)405413 — HTTP 413 Content Too Large (Request Entity Too Large) (HTTP)413404 — HTTP 404 Not Found (HTTP)404502 — HTTP 502 Bad Gateway (HTTP)502Allowed memory size exhausted — PHP Fatal error: Allowed memory size of X bytes exhausted (PHP)Allowed memory size…Git SSL certificate problem — fatal: unable to access 'https://…': SSL certificate problem: unable to get local issuer certificate (Git)Git SSL certificate…PKIX 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_…webhook signature — Webhook signature verification failed (Stripe, Razorpay, GitHub…) (API)webhook signatureNot allowed — WordPress: Sorry, you are not allowed to access this page. (WordPress)Not allowed1020 — Cloudflare Error 1020: Access Denied (Cloudflare)1020ECONNREFUSED — Error: connect ECONNREFUSED 127.0.0.1:5432 (Node.js)ECONNREFUSED407 — HTTP 407 Proxy Authentication Required (HTTP)407408 — HTTP 408 Request Timeout (HTTP)408Mixed 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)ATSFailed to fetch — TypeError: Failed to fetch / NetworkError when attempting to fetch resource (JavaScript)Failed to fetch520 — Cloudflare Error 520: Web Server Returned an Unknown Error (Cloudflare)520525 — Cloudflare Error 525: SSL Handshake Failed (Cloudflare)525301 — HTTP 301 Moved Permanently (HTTP)301307 — HTTP 307 Temporary Redirect (HTTP)307444 — Nginx 444 No Response (connection closed without response) (HTTP)444EADDRINUSE — Error: listen EADDRINUSE: address already in use :::3000 (Node.js)EADDRINUSEport is already allocated — Docker: Bind for 0.0.0.0:80 failed: port is already allocated (Docker)port is already all…Port 8080 in use — Web server failed to start. Port 8080 was already in use. (Java)Port 8080 in useERR_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…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…Cookies are blocked — WordPress login: Error: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress. (WordPress)Cookies are blockedMissed schedule — WordPress: Missed schedule — scheduled posts not publishing (WP-Cron not running) (WordPress)Missed scheduleOne or more database tables are unavailable — WordPress: One or more database tables are unavailable. The database may need to be repaired. (WordPress)One or more databas…

Directly related (12)

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…

400HTTP

HTTP 400 Bad Request

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

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.

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.

403 Forbidden wp-adminWordPress

WordPress: 403 Forbidden on wp-admin, wp-login.php or admin-ajax.php

The server or a security layer refused access to WordPress admin URLs — file permissions, a security plugin/WAF rule, ModSecurity…

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.

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

bind() failed (98: Address already in use)Linux

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

Nginx (or another server) can’t listen on the port because another process already holds it — often Apache, another Nginx, or a s…

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…

404 except homepageWordPress

WordPress: 404 Not Found on every page except the homepage (permalinks / .htaccess / Nginx rules)

Pretty permalinks aren’t being routed to index.php — .htaccess is missing/ignored (Apache) or Nginx lacks try_files.

Two steps away (36)

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.

AccessDeniedAWS

AWS S3: AccessDenied (403) when calling GetObject / PutObject

An IAM policy, bucket policy, ACL/ownership setting, Block Public Access or KMS key policy denied the S3 request.

EACCESLinux

Linux: Permission denied

Your user (or the service user) lacks read/write/execute permission on a file, directory or one of its parents.

401HTTP

HTTP 401 Unauthorized

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

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

413HTTP

HTTP 413 Content Too Large (Request Entity Too Large)

The request body is bigger than the server is willing to accept — usually a file upload over the configured limit.

404HTTP

HTTP 404 Not Found

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

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.

Allowed memory size exhaustedPHP

PHP Fatal error: Allowed memory size of X bytes exhausted

The script tried to use more memory than PHP’s `memory_limit` allows.

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.

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.

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.

Not allowedWordPress

WordPress: Sorry, you are not allowed to access this page.

Your user role lacks the capability for that admin screen — or the database table prefix / user capabilities are out of sync afte…

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…

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.

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.

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…

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

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.

307HTTP

HTTP 307 Temporary Redirect

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

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.

EADDRINUSENode.js

Error: listen EADDRINUSE: address already in use :::3000

Another process is already listening on that port.

port is already allocatedDocker

Docker: Bind for 0.0.0.0:80 failed: port is already allocated

Another container or host process already publishes that host port.

Port 8080 in useJava

Web server failed to start. Port 8080 was already in use.

Spring Boot couldn’t bind its embedded server port because another process uses it.

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.

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.

Cookies are blockedWordPress

WordPress login: Error: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.

WordPress’s test cookie wasn’t returned on login — often a siteurl/home or domain mismatch, caching of wp-login.php, or headers a…

Missed scheduleWordPress

WordPress: Missed schedule — scheduled posts not publishing (WP-Cron not running)

WP-Cron didn’t fire at the scheduled time, so scheduled posts and tasks (backups, emails, WooCommerce jobs) are late.

One or more database tables are unavailableWordPress

WordPress: One or more database tables are unavailable. The database may need to be repaired.

WordPress can’t read one or more of its tables — they’re crashed (MyISAM), missing, or the table prefix in wp-config.php is wrong.