Error map

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

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: Sy…Too many levels of symbolic links — Too many levels of symbolic links (ELOOP) (Linux)Too many levels of …AH00558 — Apache: AH00558: apache2: Could not reliably determine the server's fully qualified domain name (Nginx / Apache)AH00558AH00124: Request exceeded the limit of 10 internal redirects — Apache: AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary (Nginx / Apache)AH00124: Request ex…AH00898: Error reading from remote server (502 Proxy Error) — Apache: [proxy_http:error] AH01102: error reading status line from remote server 127.0.0.1:3000 / AH00898: Error reading from remote server returned by /api (Nginx / Apache)AH00898: Error read…AH01114: HTTP: failed to make connection to backend — Apache: [proxy:error] AH00957: HTTP: attempt to connect to 127.0.0.1:3000 (127.0.0.1) failed / AH01114: HTTP: failed to make connection to backend: 127.0.0.1 (Nginx / Apache)AH01114: HTTP: fail…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…open() failed (13: Permission denied) — Nginx: [error] open() "/home/user/site/index.html" failed (13: Permission denied), 403 Forbidden (Nginx / Apache)open() failed (13: …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 …AH00128: File does not exist — Apache: [core:info] AH00128: File does not exist: /var/www/html/favicon.ico (404) (Nginx / Apache)AH00128: File does …Apache shows PHP source or downloads .php files — Browser shows <?php code or downloads index.php — mod_php / PHP-FPM handler not configured in Apache (Nginx / Apache)Apache shows PHP so…apache2.service: Failed with result 'exit-code' — systemd: apache2.service: Main process exited, code=exited, status=1/FAILURE — Job for apache2.service failed because the control process exited with error code (Nginx / Apache)apache2.service: Fa…ModSecurity: Access denied with code 403 — Nginx/Apache: ModSecurity: Access denied with code 403 (phase 2). Matched "Operator GE matched 5 at TX:anomaly_score" (Nginx / Apache)ModSecurity: Access…EACCES — Linux: Permission denied (Linux)EACCESAccessDeniedException — java.nio.file.AccessDeniedException: /path (Java)AccessDeniedExcepti…No space left on device (inodes) — No space left on device, but df shows free space (inodes exhausted) (Linux)No space left on de…413 — 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 connection404 except homepage — WordPress: 404 Not Found on every page except the homepage (permalinks / .htaccess / Nginx rules) (WordPress)404 except homepagerewrite or internal redirection cycle — Nginx: [error] rewrite or internal redirection cycle while internally redirecting to "/index.php" (500 Internal Server Error) (Nginx / Apache)rewrite or internal…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…407 — HTTP 407 Proxy Authentication Required (HTTP)407502 — HTTP 502 Bad Gateway (HTTP)502417 — HTTP 417 Expectation Failed (HTTP)417503 — HTTP 503 Service Unavailable (HTTP)503511 — HTTP 511 Network Authentication Required (HTTP)511connect() failed (111: Connection refused) while connecting to upstream — Nginx: [error] connect() failed (111: Connection refused) while connecting to upstream, upstream: "http://127.0.0.1:3000/" (Nginx / Apache)connect() failed (1…ERR_TOO_MANY_REDIRECTS (Cloudflare) — ERR_TOO_MANY_REDIRECTS with Cloudflare (Flexible SSL redirect loop) (Cloudflare)ERR_TOO_MANY_REDIRE…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_…Cloudflare Origin CA not trusted — NET::ERR_CERT_AUTHORITY_INVALID with a Cloudflare Origin Certificate (record not proxied) (Cloudflare)Cloudflare Origin C…403 — HTTP 403 Forbidden (HTTP)403sudoers — user is not in the sudoers file. This incident will be reported. (Linux)sudoersNot allowed — WordPress: Sorry, you are not allowed to access this page. (WordPress)Not allowed500 — HTTP 500 Internal Server Error (HTTP)500499 — HTTP 499 Client Closed Request (Nginx) (HTTP)499nodemon crashed — [nodemon] app crashed - waiting for file changes before starting... (Node.js)nodemon crashed404 — HTTP 404 Not Found (HTTP)404AH01630: 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…Primary script unknown — FastCGI sent in stderr: "Primary script unknown" (PHP)Primary script unkn…missing the MySQL extension — WordPress: Your PHP installation appears to be missing the MySQL extension which is required by WordPress (WordPress)missing the MySQL e…requires at least PHP — WordPress: Your server is running PHP version 7.2 but WordPress 6.x requires at least 7.4 / This plugin requires a newer version of PHP (WordPress)requires at least P…Job for x.service failed — Job for nginx.service failed because the control process exited with error code (Linux)Job for x.service f…Unit not found — Failed to start x.service: Unit x.service not found (Linux)Unit not foundSystem has not been booted with systemd — System has not been booted with systemd as init system (PID 1). Can't operate. (Linux)System has not been…1020 — Cloudflare Error 1020: Access Denied (Cloudflare)1020bind() 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: …cf-mitigated: challenge — API/app requests get 403 with cf-mitigated: challenge (Bot Fight Mode / challenge on non-browser clients) (Cloudflare)cf-mitigated: chall…

Directly related (12)

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.

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.

AH00124: Request exceeded the limit of 10 internal redirectsNginx / Apache

Apache: AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary

Rewrite rules loop internally, so Apache aborts with a 500.

AH00898: Error reading from remote server (502 Proxy Error)Nginx / Apache

Apache: [proxy_http:error] AH01102: error reading status line from remote server 127.0.0.1:3000 / AH00898: Error reading from remote server returned by /api

mod_proxy couldn't read a valid response from the backend, so Apache returned 502/503.

AH01114: HTTP: failed to make connection to backendNginx / Apache

Apache: [proxy:error] AH00957: HTTP: attempt to connect to 127.0.0.1:3000 (127.0.0.1) failed / AH01114: HTTP: failed to make connection to backend: 127.0.0.1

mod_proxy couldn't connect to the backend address, so the client gets 503/502.

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.

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.

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.

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.

Apache shows PHP source or downloads .php filesNginx / Apache

Browser shows <?php code or downloads index.php — mod_php / PHP-FPM handler not configured in Apache

Apache serves PHP files as plain text because no PHP handler is active.

apache2.service: Failed with result 'exit-code'Nginx / Apache

systemd: apache2.service: Main process exited, code=exited, status=1/FAILURE — Job for apache2.service failed because the control process exited with error code

systemd couldn't start Apache — the real error is in the journal or `apachectl configtest`.

ModSecurity: Access denied with code 403Nginx / Apache

Nginx/Apache: ModSecurity: Access denied with code 403 (phase 2). Matched "Operator GE matched 5 at TX:anomaly_score"

The ModSecurity WAF (OWASP Core Rule Set) blocked the request as suspicious.

Two steps away (36)

EACCESLinux

Linux: Permission denied

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

AccessDeniedExceptionJava

java.nio.file.AccessDeniedException: /path

The OS denied a file operation to the Java process.

No space left on device (inodes)Linux

No space left on device, but df shows free space (inodes exhausted)

The filesystem has run out of inodes — the slots for files — even though there are gigabytes free, usually because of millions of…

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.

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.

rewrite or internal redirection cycleNginx / Apache

Nginx: [error] rewrite or internal redirection cycle while internally redirecting to "/index.php" (500 Internal Server Error)

Nginx kept internally redirecting (more than 10 times), typically from a `try_files` or `rewrite` that points back to itself.

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.

407HTTP

HTTP 407 Proxy Authentication Required

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

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.

417HTTP

HTTP 417 Expectation Failed

The server or a proxy can’t meet the Expect header in the request — almost always Expect: 100-continue.

503HTTP

HTTP 503 Service Unavailable

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

511HTTP

HTTP 511 Network Authentication Required

A captive portal (hotel, airport, office Wi-Fi) is intercepting your traffic until you log in or accept its terms.

connect() failed (111: Connection refused) while connecting to upstreamNginx / Apache

Nginx: [error] connect() failed (111: Connection refused) while connecting to upstream, upstream: "http://127.0.0.1:3000/"

Nginx tried to proxy a request but nothing listens on the upstream address, so the client gets 502.

ERR_TOO_MANY_REDIRECTS (Cloudflare)Cloudflare

ERR_TOO_MANY_REDIRECTS with Cloudflare (Flexible SSL redirect loop)

The page redirects to itself forever — classic cause: Cloudflare SSL mode “Flexible” while the origin redirects HTTP to HTTPS.

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…

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…

sudoersLinux

user is not in the sudoers file. This incident will be reported.

Your account isn’t allowed to use sudo.

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…

500HTTP

HTTP 500 Internal Server Error

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

499HTTP

HTTP 499 Client Closed Request (Nginx)

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

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.

404HTTP

HTTP 404 Not Found

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

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.

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.

missing the MySQL extensionWordPress

WordPress: Your PHP installation appears to be missing the MySQL extension which is required by WordPress

PHP doesn’t have the mysqli extension loaded, so WordPress can’t talk to the database.

requires at least PHPWordPress

WordPress: Your server is running PHP version 7.2 but WordPress 6.x requires at least 7.4 / This plugin requires a newer version of PHP

WordPress core, a plugin or a theme needs a newer PHP than the server runs.

Job for x.service failedLinux

Job for nginx.service failed because the control process exited with error code

systemd tried to start the service, but its start command failed. The real reason is in the service’s status/journal.

Unit not foundLinux

Failed to start x.service: Unit x.service not found

systemd has no unit with that name — the package isn’t installed, the name differs on this distro, or a new unit file wasn’t load…

System has not been booted with systemdLinux

System has not been booted with systemd as init system (PID 1). Can't operate.

You ran systemctl inside an environment without systemd as PID 1 — a Docker container or older WSL.

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…

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…

cf-mitigated: challengeCloudflare

API/app requests get 403 with cf-mitigated: challenge (Bot Fight Mode / challenge on non-browser clients)

Cloudflare is answering API calls, webhooks or mobile-app requests with a challenge page (HTML 403) because bot protection treats…