Error map
worker_connections are not enough Nginx: [alert] 1234#1234: *987 1024 worker_connections are not enough while connecting to upstream
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)
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.
Too many open files (EMFILE)
The process hit its file-descriptor limit — sockets, files and pipes all count.
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.
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.
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.
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.
Nginx: [error] limiting requests, excess: 5.370 by zone "perip", client: 203.0.113.5
`limit_req` rejected requests because the client exceeded the configured rate (burst) — response 503 (or 429).
Nginx: 400 Bad Request — Request Header Or Cookie Too Large / client sent too long header line
The request line or headers (often cookies) exceed `large_client_header_buffers`.
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.
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.
Two steps away (30)
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`.
HTTP 408 Request Timeout
The server closed the connection because the client took too long to send the complete request.
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.
Error: ENOENT: no such file or directory
A file or directory the program tried to open doesn’t exist at that path.
Error: socket hang up / read ECONNRESET
The other side closed the TCP connection abruptly while your client was still using it.
MySQL ERROR 1040 (08004): Too many connections
MySQL reached `max_connections` and refuses new clients.
HTTP 500 Internal Server Error
The server hit an unexpected condition — usually an unhandled exception or misconfiguration in the application.
HTTP 504 Gateway Timeout
A proxy or gateway waited too long for the upstream server to respond and gave up.
HTTP 499 Client Closed Request (Nginx)
Nginx-specific code logged when the client disconnected before the server finished responding.
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.
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).
Cloudflare Error 1102: Worker exceeded resource limits (CPU time / memory)
The Worker used more CPU time or memory than its plan allows for a single request.
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…
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…
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…
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.
WordPress: The link you followed has expired
Usually an upload (theme, plugin, media) larger than PHP’s upload/post limits — WordPress receives an empty request and shows thi…
HTTP 100 Continue
An interim response telling the client to go ahead and send the request body — normal when the client sent Expect: 100-continue.
HTTP 429 Too Many Requests
You’ve hit a rate limit — too many requests in a given time window. Slow down and retry later.
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…
Let's Encrypt: urn:ietf:params:acme:error:rateLimited :: too many certificates (5) already issued for this exact set of identifiers in the last 168 hours
You hit a Let's Encrypt rate limit — too many certificates, failed validations or new orders in a period.
HTTP 400 Bad Request
The server could not understand the request because its syntax, headers or body are malformed or invalid.
Warning: Cannot modify header information - headers already sent
You called `header()`, `setcookie()` or `session_start()` after output had already been sent to the browser.
HTTP 411 Length Required
The server refuses a request with a body but no Content-Length header.
HTTP 503 Service Unavailable
The server is temporarily unable to handle the request — overloaded, in maintenance, or has no healthy backends.
Cloudflare Error 524: A Timeout Occurred
Cloudflare connected to the origin, but the origin didn’t send an HTTP response within 100 seconds.
HTTP 304 Not Modified
The cached copy is still valid, so the server sends no body and the client reuses its cache.
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…
Cloudflare Error 1200: Cache connection limit
Too many requests are queued at Cloudflare for the origin — the origin is slow and connections pile up.
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…
Map another error
Popular: 500403400ORA-009331064Critical errorFileNotFoundException assemblyTypeError