Error map

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

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.

AH01630: client denied by server configuration — Apache: [authz_core:error] AH01630: client denied by server configuration: /var/www/html/ (Nginx / Apache)AH01630: cl…403 — HTTP 403 Forbidden (HTTP)403AH00558 — Apache: AH00558: apache2: Could not reliably determine the server's fully qualified domain name (Nginx / Apache)AH00558AH00112: DocumentRoot does not exist — Apache: AH00112: Warning: DocumentRoot [/var/www/example.com/public_html] does not exist (Nginx / Apache)AH00112: DocumentRo…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 …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…directory index of "/var/www/" is forbidden — Nginx: [error] directory index of "/var/www/html/" is forbidden (403 Forbidden) (Nginx / Apache)directory index of …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….htaccess: Invalid command (500 Internal Server Error) — Apache: [core:alert] /var/www/html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration (Nginx / Apache).htaccess: Invalid …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…AH01276: Cannot serve directory: No matching DirectoryIndex — Apache: [autoindex:error] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.html,index.php) found, and server-generated directory index forbidden by Options directive (Nginx / Apache)AH01276: Cannot ser…AH00548: NameVirtualHost has no effect — Apache: [core:warn] AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/ports.conf:5 (Nginx / Apache)AH00548: NameVirtua…publickey — 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)EACCES413 — 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 connectionnodemon crashed — [nodemon] app crashed - waiting for file changes before starting... (Node.js)nodemon crashednginx: bind() to 0.0.0.0:80 failed (13: Permission denied) — Nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied) (Nginx / Apache)nginx: bind() to 0.…nginx: invalid PID number in nginx.pid — Nginx: nginx: [error] invalid PID number "" in "/run/nginx.pid" (when running nginx -s reload) (Nginx / Apache)nginx: invalid PID …500 — HTTP 500 Internal Server Error (HTTP)500499 — 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:…404 — HTTP 404 Not Found (HTTP)404499 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 Closed R…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…rewrite 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…open() failed (13: Permission denied) — Nginx: [error] open() "/home/user/site/index.html" failed (13: Permission denied), 403 Forbidden (Nginx / Apache)open() failed (13: …Welcome 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…Parse error — PHP Parse error: syntax error, unexpected … (PHP)Parse errorAH01909: 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…nginx: [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…AH00072: 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:…AH00124: 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…Too many levels of symbolic links — Too many levels of symbolic links (ELOOP) (Linux)Too many levels of …AH00161: server reached MaxRequestWorkers setting — Apache: [mpm_event:error] AH00484: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting (Nginx / Apache)AH00161: server rea…AH00288: scoreboard is full, not at MaxRequestWorkers — Apache: [mpm_event:error] AH00288: scoreboard is full, not at MaxRequestWorkers. Increase ServerLimit (Nginx / Apache)AH00288: scoreboard…

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…

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.

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.

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.

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.

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.

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.

.htaccess: Invalid command (500 Internal Server Error)Nginx / Apache

Apache: [core:alert] /var/www/html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration

A `.htaccess` file uses a directive the server can't handle, causing 500 errors for the whole directory.

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.

AH01276: Cannot serve directory: No matching DirectoryIndexNginx / Apache

Apache: [autoindex:error] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.html,index.php) found, and server-generated directory index forbidden by Options directive

A directory was requested, no index file exists, and directory listing (`Options Indexes`) isn't enabled.

AH00548: NameVirtualHost has no effectNginx / Apache

Apache: [core:warn] AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/ports.conf:5

Apache 2.4 ignores the old `NameVirtualHost` directive — a harmless warning from a config written for 2.2.

Two steps away (28)

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.

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.

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.

nginx: bind() to 0.0.0.0:80 failed (13: Permission denied)Nginx / Apache

Nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)

Nginx isn't allowed to bind that port — a privileged port as non-root, or SELinux restricts it.

nginx: invalid PID number in nginx.pidNginx / Apache

Nginx: nginx: [error] invalid PID number "" in "/run/nginx.pid" (when running nginx -s reload)

Nginx can't signal the master process because the PID file is empty, stale or missing.

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.

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.

404HTTP

HTTP 404 Not Found

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

499 Client Closed Request / client prematurely closed connectionNginx / Apache

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

The client (browser, mobile app, load balancer) disconnected before Nginx finished the response; Nginx logs status 499.

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…

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.

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.

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.

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.

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.

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

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.

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.

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.

AH00161: server reached MaxRequestWorkers settingNginx / Apache

Apache: [mpm_event:error] AH00484: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting

Apache used all its worker slots, so new requests queue or time out.

AH00288: scoreboard is full, not at MaxRequestWorkersNginx / Apache

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

The shared scoreboard (process table) has no free slot even though the request limit isn't reached.