Error map
cURL error 28 cURL error 28: Operation timed out after 30001 milliseconds with 0 bytes received
PHP · layer 4, Application & API
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.
Directly related (12)
Cloudflare Error 522: Connection Timed Out
Cloudflare’s TCP connection to your origin timed out — the origin didn’t answer at all.
API Request Timed Out (ETIMEDOUT / ReadTimeout / timeout of 30000ms exceeded)
The client gave up waiting — either for the connection to open or for the response to arrive.
Error Domain=NSURLErrorDomain Code=-1001 "The request timed out."
The server didn’t respond within URLSession’s timeout (60 s default) — slow server, unreachable host on this network, or a stalle…
PHP Fatal error: Maximum execution time of 30 seconds exceeded
The script ran longer than `max_execution_time` and PHP stopped it.
cURL error 6: Could not resolve host: api.example.com
PHP cURL couldn’t resolve the hostname via DNS.
cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to host:443
The TLS handshake failed — protocol/cipher mismatch, a proxy interfering, or the server closed the connection.
Cloudflare Error 524: A Timeout Occurred
Cloudflare connected to the origin, but the origin didn’t send an HTTP response within 100 seconds.
AWS Lambda: Task timed out after X seconds
The function ran longer than its configured timeout (default 3 seconds) and Lambda stopped it.
API Gateway: {"message": "Endpoint request timed out"} (504 after 29 seconds)
The backend (usually Lambda) didn’t respond within API Gateway’s integration timeout (29 seconds by default for REST APIs).
Site Health: The REST API encountered an error / Your site could not complete a loopback request (cURL error 28)
WordPress couldn’t call itself over HTTP — needed for the block editor, cron, plugin/theme editors and Site Health.
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.
TypeError: Failed to execute 'json' on 'Response': body stream already read
A fetch Response body was consumed twice (e.g. calling .text() then .json()).
Two steps away (36)
HTTP 504 Gateway Timeout
A proxy or gateway waited too long for the upstream server to respond and gave up.
Cloudflare Error 520: Web Server Returned an Unknown Error
Cloudflare connected to your origin, but the origin returned an empty, unknown or invalid response.
Cloudflare Error 521: Web Server Is Down
Cloudflare couldn’t connect to your origin — the connection was refused.
Error: connect ECONNREFUSED 127.0.0.1:5432
Nothing is listening at that host:port — the target service is down or you’re connecting to the wrong address.
HTTP 408 Request Timeout
The server closed the connection because the client took too long to send the complete request.
SSL: CERTIFICATE_VERIFY_FAILED / unable to get local issuer certificate
The client couldn’t verify the server’s TLS certificate chain, so it refused the HTTPS connection.
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 499 Client Closed Request (Nginx)
Nginx-specific code logged when the client disconnected before the server finished responding.
MySQL ERROR 2013 (HY000): Lost connection to MySQL server during query
The connection dropped mid-query — server crash/restart, timeouts, or a proxy cutting long queries.
PHP Fatal error: Allowed memory size of X bytes exhausted
The script tried to use more memory than PHP’s `memory_limit` allows.
WordPress: Briefly unavailable for scheduled maintenance. Check back in a minute.
An update was interrupted and WordPress left its `.maintenance` file behind, so the site stays in maintenance mode.
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…
Error: getaddrinfo ENOTFOUND host / Name or service not known
DNS lookup for the hostname failed — the name is wrong, doesn’t exist, or this machine can’t resolve it.
fatal: unable to access 'https://github.com/…': Could not resolve host: github.com
DNS lookup for the Git host failed from this machine.
java.net.UnknownHostException: api.example.com
DNS resolution failed for the hostname.
fatal: unable to access 'https://…': SSL certificate problem: unable to get local issuer certificate
Git doesn’t trust the HTTPS server’s certificate — corporate proxy, self-hosted Git with an internal CA, or outdated CA bundle.
javax.net.ssl.SSLHandshakeException: PKIX path building failed: unable to find valid certification path to requested target
Java doesn’t trust the server’s certificate chain (self-signed, corporate proxy CA, or missing intermediate).
java.net.SocketException: Connection reset
The remote side closed the TCP connection abruptly while Java was reading or writing.
java.util.concurrent.TimeoutException
A Future.get(timeout) or async operation didn’t complete in the allowed time.
ERROR: canceling statement due to statement timeout
A query ran longer than statement_timeout and PostgreSQL cancelled it.
FATAL: terminating connection due to idle-in-transaction timeout
A session opened a transaction and sat idle longer than idle_in_transaction_session_timeout.
AWS: ThrottlingException / Rate exceeded
You exceeded the request rate for an AWS API; retry with exponential backoff.
Lambda: Runtime exited with error: signal: killed (Runtime.ExitError)
The function process was killed — almost always because it ran out of its configured memory.
Lambda: Request must be smaller than 6291456 bytes for the InvokeFunction operation (RequestEntityTooLargeException)
The event payload (or response) is over Lambda’s 6 MB synchronous limit (256 KB for async invocations).
SQL Server: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
The command ran longer than the client’s CommandTimeout (default 30 seconds).
API Gateway {"message": "Internal server error"} 502 — Malformed Lambda proxy response
The Lambda behind an API Gateway proxy integration returned something that isn’t the required {statusCode, headers, body} shape,…
API Gateway 403: User is not authorized to access this resource with an explicit deny
An API Gateway authorizer (Lambda/Cognito) or resource policy denied the request.
HTTP 407 Proxy Authentication Required
A proxy between you and the server requires credentials before it will forward your request.
TypeError: Failed to fetch / NetworkError when attempting to fetch resource
The browser couldn’t complete the request at the network level — CORS, DNS, offline, blocked mixed content, or the server refused…
Error: socket hang up / read ECONNRESET
The other side closed the TCP connection abruptly while your client was still using it.
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 421 Misdirected Request
The request reached a server that isn’t configured for that host name — usually HTTP/2 connection reuse across domains sharing a…
400 Bad Request: The plain HTTP request was sent to HTTPS port (Nginx 497)
Plain http:// traffic arrived on a port Nginx expects to be TLS (443 or a custom SSL port).
Node.js: [UnhandledPromiseRejection] — This error originated either by throwing inside of an async function without a catch block
A promise rejected and nothing handled it; since Node 15 this crashes the process.
TypeError: Reduce of empty array with no initial value
Array.reduce() ran on an empty array without an initial value.
SyntaxError: await is only valid in async functions and the top level bodies of modules
await was used inside a function that isn’t async (or in a classic, non-module script).
Map another error
Popular: 403500400TypeErrorCritical error0xC000007BNullPointerException404