Error map

499 Client Closed Request / client prematurely closed connection Nginx: [info] client prematurely closed connection while reading response header from upstream / access log status 499

Nginx / Apache · 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.

499 Client Closed Request / client prematurely closed connection — Nginx: [info] client prematurely closed connection while reading response header from upstream / access log status 499 (Nginx / Apache)499 Client …500 — HTTP 500 Internal Server Error (HTTP)500upstream timed out — Nginx: upstream timed out (110: Connection timed out) while reading response header from upstream (Nginx / Apache)upstream timed out504 — HTTP 504 Gateway Timeout (HTTP)504499 — HTTP 499 Client Closed Request (Nginx) (HTTP)499Welcome to nginx! shown instead of my site — Browser: Welcome to nginx! If you see this page, the nginx web server is successfully installed and working (Nginx / Apache)Welcome to nginx! s…ssl_stapling ignored, no OCSP responder URL — Nginx: [warn] "ssl_stapling" ignored, no OCSP responder URL in the certificate "/etc/ssl/cert.pem" (SSL / TLS)ssl_stapling ignore…AH00015: Unable to open logs — Apache: AH00091: apache2: could not open error log file /var/log/apache2/error.log. AH00015: Unable to open logs (Permission denied) (Nginx / Apache)AH00015: Unable to …SSL_CTX_use_PrivateKey_file failed (key values mismatch) — Nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/ssl/server.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch) (SSL / TLS)SSL_CTX_use_Private…Could not automatically find a matching server block — Certbot: Could not automatically find a matching server block for example.com. Set the `server_name` directive to use the Nginx installer (SSL / TLS)Could not automatic…SSL_CTX_set_tmp_dh failed: dh key too small — Nginx: [emerg] SSL_CTX_set_tmp_dh("/etc/ssl/dhparam.pem") failed (SSL: error:1401E0A8:SSL routines:... dh key too small) (SSL / TLS)SSL_CTX_set_tmp_dh …accept4() failed (24: Too many open files) — Nginx: [crit] accept4() failed (24: Too many open files) / open() failed (24: Too many open files) (Nginx / Apache)accept4() failed (2…AH00128: File does not exist — Apache: [core:info] AH00128: File does not exist: /var/www/html/favicon.ico (404) (Nginx / Apache)AH00128: File does …404 — HTTP 404 Not Found (HTTP)404502 — HTTP 502 Bad Gateway (HTTP)502503 — HTTP 503 Service Unavailable (HTTP)5032006 — MySQL ERROR 2006 (HY000): MySQL server has gone away (MySQL)2006408 — HTTP 408 Request Timeout (HTTP)408Maximum execution time — PHP Fatal error: Maximum execution time of 30 seconds exceeded (PHP)Maximum execution t…522 — Cloudflare Error 522: Connection Timed Out (Cloudflare)522524 — Cloudflare Error 524: A Timeout Occurred (Cloudflare)524ETIMEDOUT — API Request Timed Out (ETIMEDOUT / ReadTimeout / timeout of 30000ms exceeded) (API)ETIMEDOUTTimeoutException — java.util.concurrent.TimeoutException (Java)TimeoutException2013 — MySQL ERROR 2013 (HY000): Lost connection to MySQL server during query (MySQL)2013cURL error 28 — cURL error 28: Operation timed out after 30001 milliseconds with 0 bytes received (PHP)cURL error 28nginx: duplicate location — Nginx: nginx: [emerg] duplicate location "/" in /etc/nginx/sites-enabled/default:52 (Nginx / Apache)nginx: duplicate lo…nginx: conflicting server name ignored — Nginx: nginx: [warn] conflicting server name "example.com" on 0.0.0.0:80, ignored (Nginx / Apache)nginx: conflicting …nginx: client intended to send too large body — Nginx: [error] client intended to send too large body: 5242880 bytes (413 Request Entity Too Large) (Nginx / Apache)nginx: client inten…NET::ERR_CERT_REVOKED — Chrome: Your connection is not private — NET::ERR_CERT_REVOKED (the certificate was revoked) (Browser)NET::ERR_CERT_REVOK…no "ssl_certificate" is defined for the "listen ... ssl" directive — Nginx: [emerg] no "ssl_certificate" is defined for the "listen ... ssl" directive in /etc/nginx/sites-enabled/default:3 (SSL / TLS)no "ssl_certificate…incomplete certificate chain — SSL Labs: Chain issues: Incomplete — Extra download (intermediate certificate missing) (SSL / TLS)incomplete certific…nodemon crashed — [nodemon] app crashed - waiting for file changes before starting... (Node.js)nodemon crashedAH00558 — Apache: AH00558: apache2: Could not reliably determine the server's fully qualified domain name (Nginx / Apache)AH00558SSLCertificateFile: file does not exist — Apache: AH02240: Server should be SSL-aware but has no certificate configured / SSLCertificateFile: file '/etc/ssl/x.crt' does not exist or is empty (SSL / TLS)SSLCertificateFile:…bind() 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: …nginx: [emerg] unknown directive — Nginx: nginx: [emerg] unknown directive "x" in /etc/nginx/sites-enabled/x:12 — configuration file test failed (Nginx / Apache)nginx: [emerg] unkn…unable to load Private Key — OpenSSL/Nginx/Apache: error:0909006C:PEM routines:get_name:no start line / unable to load Private Key (SSL / TLS)unable to load Priv…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…The following certs could not be renewed — Certbot: Failed to renew certificate example.com with error — The following certs could not be renewed: /etc/letsencrypt/live/example.com/fullchain.pem (failure) (SSL / TLS)The following certs…Problem binding to port 80: Could not bind to IPv4 or IPv6 — Certbot: Problem binding to port 80: Could not bind to IPv4 or IPv6 (standalone authenticator) (SSL / TLS)Problem binding to …Timeout during connect (likely firewall problem) — Let's Encrypt: Fetching http://example.com/.well-known/acme-challenge/token: Timeout during connect (likely firewall problem) (SSL / TLS)Timeout during conn…ca md too weak / ee key too small — OpenSSL: error:0A00018E:SSL routines::ca md too weak / error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small (SSL / TLS)ca md too weak / ee…AH01909: server certificate does NOT include an ID which matches the server name — Apache: [ssl:warn] AH01909: example.com:443:0 server certificate does NOT include an ID which matches the server name (SSL / TLS)AH01909: server cer…EMFILE — Too many open files (EMFILE) (Linux)EMFILEfork: retry: Resource temporarily unavailable — fork: retry: Resource temporarily unavailable (process/thread limit) (Linux)fork: retry: Resour…1025 — Cloudflare Error 1025: Please check back later (Workers request limit) (Cloudflare)1025AH00526: Syntax error on line of apache config — Apache: AH00526: Syntax error on line 12 of /etc/apache2/sites-enabled/site.conf: Invalid command 'Foo', perhaps misspelled or defined by a module not included in the server configuration (Nginx / Apache)AH00526: Syntax err…AH01630: client denied by server configuration — Apache: [authz_core:error] AH01630: client denied by server configuration: /var/www/html/ (Nginx / Apache)AH01630: client den…AH00112: DocumentRoot does not exist — Apache: AH00112: Warning: DocumentRoot [/var/www/example.com/public_html] does not exist (Nginx / Apache)AH00112: DocumentRo…

Directly related (12)

500HTTP

HTTP 500 Internal Server Error

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

upstream timed outNginx / Apache

Nginx: upstream timed out (110: Connection timed out) while reading response header from upstream

Nginx waited longer than proxy_read_timeout (60 s default) for the backend (app server, PHP-FPM) to respond, then returned 504.

504HTTP

HTTP 504 Gateway Timeout

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

499HTTP

HTTP 499 Client Closed Request (Nginx)

Nginx-specific code logged when the client disconnected before the server finished responding.

Welcome to nginx! shown instead of my siteNginx / Apache

Browser: Welcome to nginx! If you see this page, the nginx web server is successfully installed and working

Requests are served by the default server block, not your site's block.

ssl_stapling ignored, no OCSP responder URLSSL / TLS

Nginx: [warn] "ssl_stapling" ignored, no OCSP responder URL in the certificate "/etc/ssl/cert.pem"

OCSP stapling is enabled but the certificate (or chain file) contains no OCSP responder, so nginx can't staple a response.

AH00015: Unable to open logsNginx / Apache

Apache: AH00091: apache2: could not open error log file /var/log/apache2/error.log. AH00015: Unable to open logs (Permission denied)

Apache can't open its log files — permissions, a missing directory or disk problems.

SSL_CTX_use_PrivateKey_file failed (key values mismatch)SSL / TLS

Nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/ssl/server.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)

The private key does not belong to the certificate configured in the server.

Could not automatically find a matching server blockSSL / TLS

Certbot: Could not automatically find a matching server block for example.com. Set the `server_name` directive to use the Nginx installer

Certbot's Nginx plugin could not find a `server` block whose `server_name` matches the domain you requested.

SSL_CTX_set_tmp_dh failed: dh key too smallSSL / TLS

Nginx: [emerg] SSL_CTX_set_tmp_dh("/etc/ssl/dhparam.pem") failed (SSL: error:1401E0A8:SSL routines:... dh key too small)

The Diffie-Hellman parameters file is too weak (e.g. 512 or 768 bit) for the current OpenSSL security level.

accept4() failed (24: Too many open files)Nginx / Apache

Nginx: [crit] accept4() failed (24: Too many open files) / open() failed (24: Too many open files)

Nginx workers hit the file-descriptor limit and can't accept or open more.

AH00128: File does not existNginx / Apache

Apache: [core:info] AH00128: File does not exist: /var/www/html/favicon.ico (404)

The requested file isn't in the DocumentRoot — a normal 404 entry in the Apache error log.

Two steps away (36)

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.

503HTTP

HTTP 503 Service Unavailable

The server is temporarily unable to handle the request — overloaded, in maintenance, or has no healthy backends.

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

408HTTP

HTTP 408 Request Timeout

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

Maximum execution timePHP

PHP Fatal error: Maximum execution time of 30 seconds exceeded

The script ran longer than `max_execution_time` and PHP stopped it.

522Cloudflare

Cloudflare Error 522: Connection Timed Out

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

524Cloudflare

Cloudflare Error 524: A Timeout Occurred

Cloudflare connected to the origin, but the origin didn’t send an HTTP response within 100 seconds.

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.

TimeoutExceptionJava

java.util.concurrent.TimeoutException

A Future.get(timeout) or async operation didn’t complete in the allowed time.

2013MySQL

MySQL ERROR 2013 (HY000): Lost connection to MySQL server during query

The connection dropped mid-query — server crash/restart, timeouts, or a proxy cutting long queries.

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.

nginx: duplicate locationNginx / Apache

Nginx: nginx: [emerg] duplicate location "/" in /etc/nginx/sites-enabled/default:52

Two `location` blocks with the same match exist in one server block (often from two included files).

nginx: conflicting server name ignoredNginx / Apache

Nginx: nginx: [warn] conflicting server name "example.com" on 0.0.0.0:80, ignored

Two server blocks listen on the same port with the same `server_name`; the second is ignored.

nginx: client intended to send too large bodyNginx / Apache

Nginx: [error] client intended to send too large body: 5242880 bytes (413 Request Entity Too Large)

A request body exceeded `client_max_body_size` (default 1 MB), so Nginx returned 413 before reaching your app.

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.

no "ssl_certificate" is defined for the "listen ... ssl" directiveSSL / TLS

Nginx: [emerg] no "ssl_certificate" is defined for the "listen ... ssl" directive in /etc/nginx/sites-enabled/default:3

A server block listens with `ssl` but has no `ssl_certificate` and `ssl_certificate_key`.

incomplete certificate chainSSL / TLS

SSL Labs: Chain issues: Incomplete — Extra download (intermediate certificate missing)

The server sends only its own certificate and not the intermediate CA(s), so some clients cannot build a trusted chain.

nodemon crashedNode.js

[nodemon] app crashed - waiting for file changes before starting...

Your app threw an error on startup; nodemon is waiting for a file change to retry.

AH00558Nginx / Apache

Apache: AH00558: apache2: Could not reliably determine the server's fully qualified domain name

A harmless startup warning: Apache has no global ServerName, so it guessed one from the host’s IP.

SSLCertificateFile: file does not existSSL / TLS

Apache: AH02240: Server should be SSL-aware but has no certificate configured / SSLCertificateFile: file '/etc/ssl/x.crt' does not exist or is empty

Apache cannot find the certificate or key file named in its configuration, or `SSLEngine on` is set without any certificate.

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…

nginx: [emerg] unknown directiveNginx / Apache

Nginx: nginx: [emerg] unknown directive "x" in /etc/nginx/sites-enabled/x:12 — configuration file test failed

Nginx found a directive it doesn’t know — a typo, a missing semicolon on the previous line, a directive from a module that isn’t…

unable to load Private KeySSL / TLS

OpenSSL/Nginx/Apache: error:0909006C:PEM routines:get_name:no start line / unable to load Private Key

The server or tool cannot read the private key file — wrong format, encrypted with a passphrase, wrong path, or a certificate pas…

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.

The following certs could not be renewedSSL / TLS

Certbot: Failed to renew certificate example.com with error — The following certs could not be renewed: /etc/letsencrypt/live/example.com/fullchain.pem (failure)

`certbot renew` failed for one or more certificates, so they will expire if you don't fix it.

Problem binding to port 80: Could not bind to IPv4 or IPv6SSL / TLS

Certbot: Problem binding to port 80: Could not bind to IPv4 or IPv6 (standalone authenticator)

`certbot --standalone` needs to listen on port 80 for the HTTP-01 challenge but another process (Nginx, Apache) already holds it.

Timeout during connect (likely firewall problem)SSL / TLS

Let's Encrypt: Fetching http://example.com/.well-known/acme-challenge/token: Timeout during connect (likely firewall problem)

The ACME validation server could not reach your server on port 80 within the timeout.

ca md too weak / ee key too smallSSL / TLS

OpenSSL: error:0A00018E:SSL routines::ca md too weak / error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small

OpenSSL's security level rejected a certificate signed with a weak hash (MD5/SHA-1) or with a small key (RSA < 2048).

AH01909: server certificate does NOT include an ID which matches the server nameSSL / TLS

Apache: [ssl:warn] AH01909: example.com:443:0 server certificate does NOT include an ID which matches the server name

Apache's SSL virtual host name does not match any name inside the certificate it loads.

EMFILELinux

Too many open files (EMFILE)

The process hit its file-descriptor limit — sockets, files and pipes all count.

fork: retry: Resource temporarily unavailableLinux

fork: retry: Resource temporarily unavailable (process/thread limit)

The user or container hit its maximum number of processes/threads (ulimit -u, pids cgroup), so new processes can’t be created.

1025Cloudflare

Cloudflare Error 1025: Please check back later (Workers request limit)

The site’s Cloudflare Workers plan exceeded its daily request limit (free plan: 100,000 requests/day).

AH00526: Syntax error on line of apache configNginx / Apache

Apache: AH00526: Syntax error on line 12 of /etc/apache2/sites-enabled/site.conf: Invalid command 'Foo', perhaps misspelled or defined by a module not included in the server configuration

Apache's config has a syntax problem or a directive from a module that isn't loaded.

AH01630: client denied by server configurationNginx / Apache

Apache: [authz_core:error] AH01630: client denied by server configuration: /var/www/html/

Apache 2.4 authorisation denied access to the directory (403) because no `Require all granted` applies.

AH00112: DocumentRoot does not existNginx / Apache

Apache: AH00112: Warning: DocumentRoot [/var/www/example.com/public_html] does not exist

A virtual host points to a directory that doesn't exist.