Error map
AH00128: File does not exist Apache: [core:info] AH00128: File does not exist: /var/www/html/favicon.ico (404)
Nginx / Apache · layer 3, Edge & web server
Centre: this error. First ring: errors it is linked with (10). 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.
Directly related (10)
HTTP 500 Internal Server Error
The server hit an unexpected condition — usually an unhandled exception or misconfiguration in the application.
HTTP 404 Not Found
The server can’t find anything at the requested URL.
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.
HTTP 499 Client Closed Request (Nginx)
Nginx-specific code logged when the client disconnected before the server finished responding.
Apache: AH00112: Warning: DocumentRoot [/var/www/example.com/public_html] does not exist
A virtual host points to a directory that doesn't exist.
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.
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.
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.
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.
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 (30)
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.
HTTP 503 Service Unavailable
The server is temporarily unable to handle the request — overloaded, in maintenance, or has no healthy backends.
SyntaxError: Unexpected token < in JSON at position 0
`JSON.parse()` / `response.json()` received something that isn’t JSON — very often an HTML error page.
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…
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).
HTTP 410 Gone
The resource used to exist but was intentionally and permanently removed, with no forwarding address.
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.
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.
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.
HTTP 408 Request Timeout
The server closed the connection because the client took too long to send the complete request.
HTTP 504 Gateway Timeout
A proxy or gateway waited too long for the upstream server to respond and gave up.
java.util.concurrent.TimeoutException
A Future.get(timeout) or async operation didn’t complete in the allowed time.
[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: 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: 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.
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: [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.
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.
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.
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.
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.
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: 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: 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).
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.
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.
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.
Too many levels of symbolic links (ELOOP)
A symlink points to itself, directly or through a chain, so path resolution loops.
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.
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.
Map another error
Popular: 500403400ORA-009331064Critical errorFileNotFoundException assemblyTypeError