Error map

cURL error 28 cURL error 28: Operation timed out after 30001 milliseconds with 0 bytes received

PHP · layer 4, Application & API

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.

cURL error 28 — cURL error 28: Operation timed out after 30001 milliseconds with 0 bytes received (PHP)cURL error …522 — Cloudflare Error 522: Connection Timed Out (Cloudflare)522ETIMEDOUT — API Request Timed Out (ETIMEDOUT / ReadTimeout / timeout of 30000ms exceeded) (API)ETIMEDOUTNSURLErrorDomain Code=-1001 — Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." (iOS)NSURLErrorDomain Co…Maximum execution time — PHP Fatal error: Maximum execution time of 30 seconds exceeded (PHP)Maximum execution t…cURL error 6 — cURL error 6: Could not resolve host: api.example.com (PHP)cURL error 6cURL error 35 — cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to host:443 (PHP)cURL error 35524 — Cloudflare Error 524: A Timeout Occurred (Cloudflare)524Task timed out — AWS Lambda: Task timed out after X seconds (AWS)Task timed outEndpoint request timed out — API Gateway: {"message": "Endpoint request timed out"} (504 after 29 seconds) (AWS)Endpoint request ti…The REST API encountered an error — Site Health: The REST API encountered an error / Your site could not complete a loopback request (cURL error 28) (WordPress)The REST API encoun…upstream timed out — Nginx: upstream timed out (110: Connection timed out) while reading response header from upstream (Nginx / Apache)upstream timed outbody already used — TypeError: Failed to execute 'json' on 'Response': body stream already read (JavaScript)body already used504 — HTTP 504 Gateway Timeout (HTTP)504520 — Cloudflare Error 520: Web Server Returned an Unknown Error (Cloudflare)520521 — Cloudflare Error 521: Web Server Is Down (Cloudflare)521ECONNREFUSED — Error: connect ECONNREFUSED 127.0.0.1:5432 (Node.js)ECONNREFUSED408 — HTTP 408 Request Timeout (HTTP)408CERTIFICATE_VERIFY_FAILED — SSL: CERTIFICATE_VERIFY_FAILED / unable to get local issuer certificate (API)CERTIFICATE_VERIFY_…2006 — MySQL ERROR 2006 (HY000): MySQL server has gone away (MySQL)2006499 — HTTP 499 Client Closed Request (Nginx) (HTTP)4992013 — MySQL ERROR 2013 (HY000): Lost connection to MySQL server during query (MySQL)2013Allowed memory size exhausted — PHP Fatal error: Allowed memory size of X bytes exhausted (PHP)Allowed memory size…Maintenance mode — WordPress: Briefly unavailable for scheduled maintenance. Check back in a minute. (WordPress)Maintenance modeLink expired — WordPress: The link you followed has expired (WordPress)Link expiredENOTFOUND — Error: getaddrinfo ENOTFOUND host / Name or service not known (API)ENOTFOUNDCould not resolve host — fatal: unable to access 'https://github.com/…': Could not resolve host: github.com (Git)Could not resolve h…UnknownHostException — java.net.UnknownHostException: api.example.com (Java)UnknownHostExceptionGit SSL certificate problem — fatal: unable to access 'https://…': SSL certificate problem: unable to get local issuer certificate (Git)Git SSL certificate…PKIX path building failed — javax.net.ssl.SSLHandshakeException: PKIX path building failed: unable to find valid certification path to requested target (Java)PKIX path building …SocketException reset — java.net.SocketException: Connection reset (Java)SocketException res…TimeoutException — java.util.concurrent.TimeoutException (Java)TimeoutException57014 — ERROR: canceling statement due to statement timeout (PostgreSQL)57014idle-in-transaction timeout — FATAL: terminating connection due to idle-in-transaction timeout (PostgreSQL)idle-in-transaction…ThrottlingException — AWS: ThrottlingException / Rate exceeded (AWS)ThrottlingExceptionRuntime exited with error: signal: killed — Lambda: Runtime exited with error: signal: killed (Runtime.ExitError) (AWS)Runtime exited with…RequestEntityTooLargeException — Lambda: Request must be smaller than 6291456 bytes for the InvokeFunction operation (RequestEntityTooLargeException) (AWS)RequestEntityTooLar…Execution Timeout Expired — SQL Server: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. (SQL)Execution Timeout E…Malformed Lambda proxy response — API Gateway {"message": "Internal server error"} 502 — Malformed Lambda proxy response (AWS)Malformed Lambda pr…not authorized to access this resource — API Gateway 403: User is not authorized to access this resource with an explicit deny (AWS)not authorized to a…407 — HTTP 407 Proxy Authentication Required (HTTP)407Failed to fetch — TypeError: Failed to fetch / NetworkError when attempting to fetch resource (JavaScript)Failed to fetchECONNRESET — Error: socket hang up / read ECONNRESET (API)ECONNRESET502 — HTTP 502 Bad Gateway (HTTP)502421 — HTTP 421 Misdirected Request (HTTP)421497 — 400 Bad Request: The plain HTTP request was sent to HTTPS port (Nginx 497) (HTTP)497UnhandledPromiseRejection — Node.js: [UnhandledPromiseRejection] — This error originated either by throwing inside of an async function without a catch block (Node.js)UnhandledPromiseRej…reduce empty — TypeError: Reduce of empty array with no initial value (JavaScript)reduce emptyawait outside async — SyntaxError: await is only valid in async functions and the top level bodies of modules (JavaScript)await outside async

Directly related (12)

522Cloudflare

Cloudflare Error 522: Connection Timed Out

Cloudflare’s TCP connection to your origin timed out — the origin didn’t answer at all.

ETIMEDOUTAPI

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.

NSURLErrorDomain Code=-1001iOS

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…

Maximum execution timePHP

PHP Fatal error: Maximum execution time of 30 seconds exceeded

The script ran longer than `max_execution_time` and PHP stopped it.

cURL error 6PHP

cURL error 6: Could not resolve host: api.example.com

PHP cURL couldn’t resolve the hostname via DNS.

cURL error 35PHP

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.

524Cloudflare

Cloudflare Error 524: A Timeout Occurred

Cloudflare connected to the origin, but the origin didn’t send an HTTP response within 100 seconds.

Task timed outAWS

AWS Lambda: Task timed out after X seconds

The function ran longer than its configured timeout (default 3 seconds) and Lambda stopped it.

Endpoint request timed outAWS

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

The REST API encountered an errorWordPress

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.

upstream timed outNginx / Apache

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.

body already usedJavaScript

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)

504HTTP

HTTP 504 Gateway Timeout

A proxy or gateway waited too long for the upstream server to respond and gave up.

520Cloudflare

Cloudflare Error 520: Web Server Returned an Unknown Error

Cloudflare connected to your origin, but the origin returned an empty, unknown or invalid response.

521Cloudflare

Cloudflare Error 521: Web Server Is Down

Cloudflare couldn’t connect to your origin — the connection was refused.

ECONNREFUSEDNode.js

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.

408HTTP

HTTP 408 Request Timeout

The server closed the connection because the client took too long to send the complete request.

CERTIFICATE_VERIFY_FAILEDAPI

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.

2006MySQL

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

499HTTP

HTTP 499 Client Closed Request (Nginx)

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

2013MySQL

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.

Allowed memory size exhaustedPHP

PHP Fatal error: Allowed memory size of X bytes exhausted

The script tried to use more memory than PHP’s `memory_limit` allows.

Maintenance modeWordPress

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.

Link expiredWordPress

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…

ENOTFOUNDAPI

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.

Could not resolve hostGit

fatal: unable to access 'https://github.com/…': Could not resolve host: github.com

DNS lookup for the Git host failed from this machine.

UnknownHostExceptionJava

java.net.UnknownHostException: api.example.com

DNS resolution failed for the hostname.

Git SSL certificate problemGit

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.

PKIX path building failedJava

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

SocketException resetJava

java.net.SocketException: Connection reset

The remote side closed the TCP connection abruptly while Java was reading or writing.

TimeoutExceptionJava

java.util.concurrent.TimeoutException

A Future.get(timeout) or async operation didn’t complete in the allowed time.

57014PostgreSQL

ERROR: canceling statement due to statement timeout

A query ran longer than statement_timeout and PostgreSQL cancelled it.

idle-in-transaction timeoutPostgreSQL

FATAL: terminating connection due to idle-in-transaction timeout

A session opened a transaction and sat idle longer than idle_in_transaction_session_timeout.

ThrottlingExceptionAWS

AWS: ThrottlingException / Rate exceeded

You exceeded the request rate for an AWS API; retry with exponential backoff.

Runtime exited with error: signal: killedAWS

Lambda: Runtime exited with error: signal: killed (Runtime.ExitError)

The function process was killed — almost always because it ran out of its configured memory.

RequestEntityTooLargeExceptionAWS

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

Execution Timeout ExpiredSQL

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

Malformed Lambda proxy responseAWS

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,…

not authorized to access this resourceAWS

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.

407HTTP

HTTP 407 Proxy Authentication Required

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

Failed to fetchJavaScript

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…

ECONNRESETAPI

Error: socket hang up / read ECONNRESET

The other side closed the TCP connection abruptly while your client was still using it.

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.

421HTTP

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…

497HTTP

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

UnhandledPromiseRejectionNode.js

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.

reduce emptyJavaScript

TypeError: Reduce of empty array with no initial value

Array.reduce() ran on an empty array without an initial value.

await outside asyncJavaScript

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