Error map

AH00288: scoreboard is full, not at MaxRequestWorkers Apache: [mpm_event:error] AH00288: scoreboard is full, not at MaxRequestWorkers. Increase ServerLimit

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.

AH00288: scoreboard is full, not at MaxRequestWorkers — Apache: [mpm_event:error] AH00288: scoreboard is full, not at MaxRequestWorkers. Increase ServerLimit (Nginx / Apache)AH00288: sc…103 — HTTP 103 Early Hints (HTTP)103304 — HTTP 304 Not Modified (HTTP)304524 — Cloudflare Error 524: A Timeout Occurred (Cloudflare)524cf-cache-status: DYNAMIC — Cloudflare not caching: cf-cache-status DYNAMIC / BYPASS / MISS every time (Cloudflare)cf-cache-status: DY…504 — HTTP 504 Gateway Timeout (HTTP)5041200 — Cloudflare Error 1200: Cache connection limit (Cloudflare)1200AH00558 — Apache: AH00558: apache2: Could not reliably determine the server's fully qualified domain name (Nginx / Apache)AH00558AH00072: make_sock: could not bind to address 0.0.0.0:80 — Apache: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80 / AH00015: Unable to open logs (Nginx / Apache)AH00072: make_sock:…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 …worker_connections are not enough — Nginx: [alert] 1234#1234: *987 1024 worker_connections are not enough while connecting to upstream (Nginx / Apache)worker_connections …AH00526: 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…AH00037: Symbolic link not allowed or link target not accessible — Apache: [core:error] AH00037: Symbolic link not allowed or link target not accessible: /var/www/html/current (Nginx / Apache)AH00037: Symbolic l…Headers already sent — Warning: Cannot modify header information - headers already sent (PHP)Headers already sentCORS — CORS Error: No 'Access-Control-Allow-Origin' header is present (API)CORS411 — HTTP 411 Length Required (HTTP)411301 — HTTP 301 Moved Permanently (HTTP)301412 — HTTP 412 Precondition Failed (HTTP)412200 — HTTP 200 OK (but something is still wrong) (HTTP)200Maximum execution time — PHP Fatal error: Maximum execution time of 30 seconds exceeded (PHP)Maximum execution t…522 — Cloudflare Error 522: Connection Timed Out (Cloudflare)522TimeoutException — java.util.concurrent.TimeoutException (Java)TimeoutException57014 — ERROR: canceling statement due to statement timeout (PostgreSQL)57014N+1 queries — Performance: N+1 query problem (one query per row in a loop) (SQL)N+1 queriespool timeout — Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. All pooled connections were in use and max pool size was reached. (SQL)pool timeout408 — HTTP 408 Request Timeout (HTTP)408500 — HTTP 500 Internal Server Error (HTTP)500502 — HTTP 502 Bad Gateway (HTTP)502503 — HTTP 503 Service Unavailable (HTTP)503Sending build context — Docker build slow: "Sending build context to Docker daemon 2.5GB" / transferring context takes forever (Docker)Sending build conte…Cloudflare 502 — Cloudflare-branded 502 Bad Gateway / 504 Gateway Timeout ("cloudflare" footer) (Cloudflare)Cloudflare 502413 — HTTP 413 Content Too Large (Request Entity Too Large) (HTTP)413redirect_uri_mismatch — OAuth Error: redirect_uri_mismatch (Authentication)redirect_uri_mismat…DB connection — WordPress: Error Establishing a Database Connection (WordPress)DB connectionEADDRINUSE — Error: listen EADDRINUSE: address already in use :::3000 (Node.js)EADDRINUSElisten EACCES — Error: listen EACCES: permission denied 0.0.0.0:80 (Node.js)listen EACCESnodemon crashed — [nodemon] app crashed - waiting for file changes before starting... (Node.js)nodemon crashed499 — HTTP 499 Client Closed Request (Nginx) (HTTP)499SSLCertificateFile: 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:…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)EMFILEupstream timed out — Nginx: upstream timed out (110: Connection timed out) while reading response header from upstream (Nginx / Apache)upstream timed outnginx: 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…Parse error — PHP Parse error: syntax error, unexpected … (PHP)Parse errornginx: [emerg] unexpected end of file, expecting ";" or "}" — Nginx: nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/conf.d/site.conf:42 (Nginx / Apache)nginx: [emerg] unex…nginx: directive is not terminated by ";" — Nginx: nginx: [emerg] directive "proxy_pass" is not terminated by ";" in /etc/nginx/sites-enabled/app:15 (Nginx / Apache)nginx: directive is…Too many levels of symbolic links — Too many levels of symbolic links (ELOOP) (Linux)Too many levels of …directory index of "/var/www/" is forbidden — Nginx: [error] directory index of "/var/www/html/" is forbidden (403 Forbidden) (Nginx / Apache)directory index of …open() failed (13: Permission denied) — Nginx: [error] open() "/home/user/site/index.html" failed (13: Permission denied), 403 Forbidden (Nginx / Apache)open() failed (13: …

Directly related (12)

103HTTP

HTTP 103 Early Hints

An interim response that sends Link headers early so the browser can preload CSS, fonts or scripts while the server is still buil…

304HTTP

HTTP 304 Not Modified

The cached copy is still valid, so the server sends no body and the client reuses its cache.

524Cloudflare

Cloudflare Error 524: A Timeout Occurred

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

cf-cache-status: DYNAMICCloudflare

Cloudflare not caching: cf-cache-status DYNAMIC / BYPASS / MISS every time

Cloudflare isn’t caching the response — HTML isn’t cached by default, and cookies or Cache-Control headers from the origin preven…

504HTTP

HTTP 504 Gateway Timeout

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

1200Cloudflare

Cloudflare Error 1200: Cache connection limit

Too many requests are queued at Cloudflare for the origin — the origin is slow and connections pile up.

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.

AH00072: make_sock: could not bind to address 0.0.0.0:80Nginx / Apache

Apache: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80 / AH00015: Unable to open logs

Another process (Nginx, another Apache, Skype/IIS-like service) already listens on the port Apache wants.

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.

worker_connections are not enoughNginx / Apache

Nginx: [alert] 1234#1234: *987 1024 worker_connections are not enough while connecting to upstream

Nginx ran out of simultaneous connection slots in a worker.

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.

AH00037: Symbolic link not allowed or link target not accessibleNginx / Apache

Apache: [core:error] AH00037: Symbolic link not allowed or link target not accessible: /var/www/html/current

Apache refuses to follow a symlink because `FollowSymLinks`/`SymLinksIfOwnerMatch` isn't allowed or the target isn't readable.

Two steps away (36)

Headers already sentPHP

Warning: Cannot modify header information - headers already sent

You called `header()`, `setcookie()` or `session_start()` after output had already been sent to the browser.

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…

411HTTP

HTTP 411 Length Required

The server refuses a request with a body but no Content-Length header.

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.

412HTTP

HTTP 412 Precondition Failed

A conditional request header (If-Match, If-Unmodified-Since) didn’t match the current state of the resource.

200HTTP

HTTP 200 OK (but something is still wrong)

The request succeeded at the HTTP level — yet the page is blank, the data is wrong, or an error is hidden inside the response bod…

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.

TimeoutExceptionJava

java.util.concurrent.TimeoutException

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

57014PostgreSQL

ERROR: canceling statement due to statement timeout

A query ran longer than statement_timeout and PostgreSQL cancelled it.

N+1 queriesSQL

Performance: N+1 query problem (one query per row in a loop)

Code runs one query to load a list, then one more query per item — hundreds of queries per page.

pool timeoutSQL

Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. All pooled connections were in use and max pool size was reached.

The application’s connection pool was exhausted — all connections busy or leaked.

408HTTP

HTTP 408 Request Timeout

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

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.

503HTTP

HTTP 503 Service Unavailable

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

Sending build contextDocker

Docker build slow: "Sending build context to Docker daemon 2.5GB" / transferring context takes forever

docker build is uploading your whole project folder — node_modules, .git, data files — before building, because there’s no (or a…

Cloudflare 502Cloudflare

Cloudflare-branded 502 Bad Gateway / 504 Gateway Timeout ("cloudflare" footer)

A plain-looking 502/504 page with “cloudflare” at the bottom comes from Cloudflare’s network itself (or an origin response it cou…

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.

redirect_uri_mismatchAuthentication

OAuth Error: redirect_uri_mismatch

The redirect URI in your OAuth request doesn’t exactly match one registered for the client in the provider’s console.

DB connectionWordPress

WordPress: Error Establishing a Database Connection

WordPress can’t connect to its MySQL/MariaDB database with the credentials in wp-config.php, or the database server is down.

EADDRINUSENode.js

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

Another process is already listening on that port.

listen EACCESNode.js

Error: listen EACCES: permission denied 0.0.0.0:80

Node isn’t allowed to bind that port — ports below 1024 need root on Linux/macOS, and some Windows ports are reserved.

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.

499HTTP

HTTP 499 Client Closed Request (Nginx)

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

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.

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.

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.

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.

Parse errorPHP

PHP Parse error: syntax error, unexpected …

PHP can’t parse the file because of a syntax mistake — the real error is often on the line before the one reported.

nginx: [emerg] unexpected end of file, expecting ";" or "}"Nginx / Apache

Nginx: nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/conf.d/site.conf:42

The config ends while a block or directive is still open — a missing `}` or `;`.

nginx: directive is not terminated by ";"Nginx / Apache

Nginx: nginx: [emerg] directive "proxy_pass" is not terminated by ";" in /etc/nginx/sites-enabled/app:15

A directive's arguments run into the next line because the `;` is missing (or a quote is unbalanced).

Too many levels of symbolic linksLinux

Too many levels of symbolic links (ELOOP)

A symlink points to itself, directly or through a chain, so path resolution loops.

directory index of "/var/www/" is forbiddenNginx / Apache

Nginx: [error] directory index of "/var/www/html/" is forbidden (403 Forbidden)

A directory was requested but no index file exists (or index is wrong) and autoindex is off, so Nginx returns 403.

open() failed (13: Permission denied)Nginx / Apache

Nginx: [error] open() "/home/user/site/index.html" failed (13: Permission denied), 403 Forbidden

The nginx worker user can't read the requested file or traverse a parent directory.