Skip to main content
wp-config.org

Server configuration

Understand the code, then find the next step

Look up a status or error message, find the layer that reported it, and work through focused checks before you change your site or server.

  • 130 entries
  • 10 categories
  • Official references

Free, no sign-up. Reading this guide sends nothing to your website.

Start with the evidence

  1. Write down the exact code or message, the address without any secrets, the HTTP method and the time in UTC.
  2. Work out which system the code comes from, and note the real HTTP status apart from any vendor code or log message.
  3. Match up request IDs, Cloudflare Ray IDs and the private logs of the CDN, server, application or database.
  4. Compare recent deployments and the affected address, and leave unrelated settings alone.
  5. Back up, test one change you can justify and keep a way to roll it back.
  6. Repeat what the visitor did, check the logs and watch for the problem coming back.

If you are a visitor, share the cleaned-up details with the site owner. Server changes need an authorised administrator. Never post cookies, passwords or a full HAR file or log publicly.

Nothing you enter leaves your browser.

This tool runs in your browser and needs JavaScript. Turn JavaScript on and reload the page.

Error code guide

Read the namespace. HTTP 403, Cloudflare 1020, Linux errno 13 and cURL 60 describe different layers. Nginx 499 is a nonstandard log status, and a 1xx, 2xx or 3xx response can be expected behavior.

Each entry gives likely causes and conditional steps. It does not diagnose your server, so back up and test one change at a time.

Showing all 130 entries.

Skip to the end of the results
Browse by layer (10 families)

HTTP 1xx, 2xx and 3xx: context, success and redirects

These responses often describe normal behavior. Investigate the request flow before treating them as failures.

Registered HTTP status

100 Continue

An interim response permits the client to send its request body.

Likely causes
Expect: 100-continue negotiation.
Check first
Look for a final response after the interim status.
What to try
Let a compatible client complete the exchange; investigate only if it stalls.
Confirm recovery
A final response arrives and the upload completes.

Registered HTTP status

101 Switching Protocols

The server accepts a requested protocol switch.

Likely causes
A WebSocket or another supported Upgrade flow.
Check first
Compare Upgrade and Connection headers on both sides of the proxy.
What to try
Preserve the required upgrade settings for that application.
Confirm recovery
The upgraded connection works rather than ending at the handshake.

Registered HTTP status

102 Processing

A WebDAV-related interim response indicates work is still underway.

Likely causes
A longer server-side operation.
Check first
Find the eventual final response and application activity.
What to try
Avoid assuming the interim status means completion; use the service protocol.
Confirm recovery
The operation reaches a final success or actionable error.

Registered HTTP status

103 Early Hints

An interim response supplies hints before the final response.

Likely causes
A server or CDN offers preload links early.
Check first
Inspect the final status and confirm hinted assets are appropriate.
What to try
No repair is needed for a legitimate hint; remove inaccurate hints at their source.
Confirm recovery
The final page and its assets load correctly.

Temporary HTTP registration

104 Upload Resumption Supported

A temporary registry entry relates to resumable-upload negotiation.

Likely causes
An experimental resumable-upload implementation.
Check first
Check the current IANA entry and the implementation specification.
What to try
Treat it as experimental, not a generally deployed success/error code. At this review, registration runs through 13 November 2026.
Confirm recovery
Confirm current registration and the upload protocol final result.

Registered HTTP status

200 OK

The request succeeded at the HTTP layer.

Likely causes
Normal delivery; sometimes an application hides an error in a successful response.
Check first
Read the response body and compare it with the expected resource.
What to try
Fix an application or routing error if it returns an error page with status 200.
Confirm recovery
The status and actual content both match the intended outcome.

Registered HTTP status

201 Created

The request created a resource.

Likely causes
A successful create operation, often through an API.
Check first
Check the resource identifier and Location header if provided.
What to try
Use the newly created resource instead of repeating the creation blindly.
Confirm recovery
The created resource exists with the intended data.

Registered HTTP status

202 Accepted

The server accepted work without confirming that it has finished.

Likely causes
An asynchronous queue or background task.
Check first
Find the task-status endpoint, queue state or job identifier.
What to try
Monitor the job using the application workflow; resolve worker failures separately.
Confirm recovery
The job reaches a confirmed final state.

Registered HTTP status

203 Non-Authoritative Information

A transforming intermediary reports a modified representation.

Likely causes
A proxy transforms upstream content.
Check first
Identify the intermediary and compare cache/transformation settings.
What to try
Review only unintended transformations; the status itself need not be repaired.
Confirm recovery
The delivered representation is the one the client should receive.

Registered HTTP status

204 No Content

The operation succeeded without a response body.

Likely causes
A successful update, delete or preflight response.
Check first
Check whether the client incorrectly expects JSON or HTML.
What to try
Handle an empty successful response instead of trying to parse a body.
Confirm recovery
The operation succeeds without a response-parsing error.

Registered HTTP status

205 Reset Content

The successful response asks the user agent to reset its view.

Likely causes
An application uses a reset-oriented workflow.
Check first
Review the endpoint contract and client reset behavior.
What to try
Implement the expected reset rather than treating it as missing content.
Confirm recovery
The client returns to the intended input state.

Registered HTTP status

206 Partial Content

The server delivered a requested byte range.

Likely causes
Downloads, media seeking or a Range request.
Check first
Compare Range, Content-Range and the full object size.
What to try
Repair incorrect range handling if chunks are missing or inconsistent.
Confirm recovery
Ranges and a full download reconstruct the same object.

Registered HTTP status

207 Multi-Status

A WebDAV response contains results for several operations or resources.

Likely causes
Some sub-operations succeed while others fail.
Check first
Inspect each result inside the structured response.
What to try
Resolve the failing sub-operations rather than reading only the outer status.
Confirm recovery
Every required sub-operation has the expected result.

Registered HTTP status

208 Already Reported

A WebDAV multistatus result avoids reporting the same binding again.

Likely causes
A collection traversal includes repeated bindings.
Check first
Inspect the enclosing WebDAV response and bindings.
What to try
Use a compatible WebDAV client; do not count the resource twice.
Confirm recovery
The complete collection is interpreted without duplicate results.

Registered HTTP status

226 IM Used

The response uses a negotiated instance-manipulation representation.

Likely causes
A specialized delta or transformation protocol.
Check first
Check the client negotiation and representation metadata.
What to try
Use a compatible client or configure an ordinary representation when appropriate.
Confirm recovery
The client reconstructs the correct content.

Registered HTTP status

300 Multiple Choices

Several representations or destinations are available.

Likely causes
Content negotiation or a server choice page.
Check first
Inspect the offered choices and requested URL.
What to try
Link to the intended canonical resource when a choice is unnecessary.
Confirm recovery
The selected representation is delivered without ambiguity.

Registered HTTP status

301 Moved Permanently

A resource has a permanent replacement address.

Likely causes
A deliberate canonical redirect or an outdated migration rule.
Check first
Inspect Location and the entire redirect chain.
What to try
Correct mistaken targets carefully; permanent redirects may remain cached.
Confirm recovery
The intended destination is reached without a loop.

Registered HTTP status

302 Found

The server temporarily directs the client elsewhere.

Likely causes
Login, application routing or a temporary move.
Check first
Check Location, session handling and repeated redirects.
What to try
Correct loops or unintended session redirects; choose status semantics deliberately.
Confirm recovery
The intended temporary destination works for the real user flow.

Registered HTTP status

303 See Other

The client should retrieve a different resource after the original request.

Likely causes
A post/redirect/get form workflow.
Check first
Check that Location points to the result page.
What to try
Use the result-resource workflow rather than replaying the original submission.
Confirm recovery
Refreshing the result does not duplicate the original operation.

Registered HTTP status

304 Not Modified

A conditional request can reuse its cached representation.

Likely causes
ETag or modification-time validation.
Check first
Compare request validators with the stored cached body.
What to try
Repair incorrect validators or cache keys if stale content is reused.
Confirm recovery
A fresh request and validated cache show the same current content.

Deprecated HTTP status

305 Use Proxy

A deprecated status historically described proxy use.

Likely causes
An old or incorrect server/application configuration.
Check first
Identify the component emitting the obsolete response.
What to try
Update its configuration; do not automatically trust a suggested proxy.
Confirm recovery
Modern clients receive a supported response.

Unused HTTP status

306 Unused

This code is unused in the current HTTP registry.

Likely causes
A custom implementation or misreported response.
Check first
Capture the actual status line and identify its producer.
What to try
Consult that product and replace unintended use with defined semantics.
Confirm recovery
The endpoint returns the expected documented status.

Registered HTTP status

307 Temporary Redirect

The temporary redirect preserves the original method and body.

Likely causes
A deliberate temporary routing decision.
Check first
Check the destination and whether replaying the method is safe.
What to try
Correct the route and preserve application semantics.
Confirm recovery
The intended method reaches the correct destination once.

Registered HTTP status

308 Permanent Redirect

The permanent redirect preserves the original method and body.

Likely causes
Canonical URL rules or a permanent migration.
Check first
Inspect Location and cached redirects from earlier releases.
What to try
Correct unintended rules and retest with a fresh client after deployment.
Confirm recovery
The canonical address works without repeated redirects.

HTTP 4xx: request, access and client-side conditions

A 4xx identifies a request condition, not automatically a mistake by the visitor. A proxy, application or security rule may have generated it.

Registered HTTP status

400 Bad Request

The receiver cannot process the request as sent.

Likely causes
Malformed syntax, invalid JSON or a rejected request header.
Check first
Compare a failing request with a minimal valid one and correlate server logs.
What to try
Correct request construction or the specific rule producing the rejection.
Confirm recovery
A valid equivalent request succeeds without weakening unrelated checks.

Registered HTTP status

401 Unauthorized

The endpoint requires valid authentication.

Likely causes
Missing, expired or incorrectly scoped credentials.
Check first
Inspect WWW-Authenticate and the application authentication flow.
What to try
Refresh or correct the authorized credentials; keep tokens out of shared logs.
Confirm recovery
The legitimate user authenticates while unauthenticated access stays restricted.

Registered HTTP status

402 Payment Required

The application uses a payment-related response convention.

Likely causes
An API plan, billing or application-specific entitlement condition.
Check first
Read the provider response details; there is no universal payment flow for this code.
What to try
Resolve the documented account or entitlement issue with the provider.
Confirm recovery
The entitled request succeeds according to that API contract.

Registered HTTP status

403 Forbidden

The request was understood but access was refused.

Likely causes
Permissions, application authorization, WAF rules or access policy.
Check first
Identify whether the CDN, web server or app denied access; correlate its log entry.
What to try
Correct the precise authorization or policy mismatch. Do not apply blanket writable permissions.
Confirm recovery
Authorized traffic works and genuinely forbidden traffic remains denied.

Registered HTTP status

404 Not Found

The requested resource is not available at that address.

Likely causes
A wrong URL, missing deployment file or unmatched route.
Check first
Compare the URL with the deployed document root and active routing rules.
What to try
Restore the intended file/route or correct links; use a deliberate redirect for a real move.
Confirm recovery
The intended URL works and genuinely missing URLs still return 404.

Registered HTTP status

405 Method Not Allowed

The resource does not allow the HTTP method used.

Likely causes
Opening a POST-only API in a browser or an incorrect client method.
Check first
Inspect Allow and compare the API contract with the actual method.
What to try
Send the supported method; do not enable write methods globally.
Confirm recovery
The documented request works and unsupported methods remain rejected.

Registered HTTP status

406 Not Acceptable

The server cannot provide an acceptable negotiated representation.

Likely causes
An incompatible Accept header or application negotiation rule.
Check first
Compare Accept, Accept-Language and the formats the endpoint supports.
What to try
Request a supported format or correct an overly strict negotiation rule.
Confirm recovery
The intended representation is returned with the correct content type.

Registered HTTP status

407 Proxy Authentication Required

An intermediary proxy requires authentication.

Likely causes
A corporate proxy or configured outbound proxy.
Check first
Identify the actual proxy and Proxy-Authenticate challenge.
What to try
Configure authorized proxy credentials through the client administration process.
Confirm recovery
The request passes the legitimate proxy without exposing credentials.

Registered HTTP status

408 Request Timeout

The server timed out while receiving the request.

Likely causes
A slow client upload, network interruption or a receive-timeout policy.
Check first
Separate request-receive delays from application processing delays.
What to try
Fix client/network problems or adjust a justified receive limit after review.
Confirm recovery
The complete request arrives within the intended limit.

Registered HTTP status

409 Conflict

The operation conflicts with the current resource state.

Likely causes
A version mismatch, duplicate operation or concurrency conflict.
Check first
Read the conflict details and current resource version.
What to try
Reconcile current state before retrying; avoid repeating a write blindly.
Confirm recovery
The desired state is saved once without overwriting another update.

Registered HTTP status

410 Gone

The resource is intentionally no longer available.

Likely causes
A retired page, deleted asset or expired endpoint.
Check first
Confirm that removal is deliberate and inspect referring links.
What to try
Restore it only if removal was accidental; otherwise update links or choose an appropriate replacement.
Confirm recovery
The intended removal or replacement is consistent.

Registered HTTP status

411 Length Required

The receiver requires a defined request content length.

Likely causes
A client sends a body in an unsupported framing mode.
Check first
Check client framing and any proxy translation.
What to try
Use a client/body mode supported by the receiving service.
Confirm recovery
The body is accepted with correct framing and length.

Registered HTTP status

412 Precondition Failed

A request precondition did not match the resource.

Likely causes
An If-Match or another conditional-write guard failed.
Check first
Compare validators and the current resource version.
What to try
Fetch current state and reconcile changes before a conditional retry.
Confirm recovery
The write succeeds against the expected version without lost updates.

Registered HTTP status

413 Content Too Large

The request body exceeds an accepted limit; older messages may say Payload Too Large.

Likely causes
Upload limits at the CDN, proxy, PHP or application layer.
Check first
Identify which layer rejected it and compare all relevant size limits.
What to try
Reduce the upload or align justified limits within capacity and plan constraints.
Confirm recovery
A permitted upload succeeds while excessive requests remain bounded.

Registered HTTP status

414 URI Too Long

The request target is longer than the receiver permits.

Likely causes
A growing query string or redirect that repeatedly appends data.
Check first
Inspect the full URL and redirect chain without publishing secret parameters.
What to try
Fix URL construction or use the endpoint’s documented body-based request format.
Confirm recovery
The intended request has a bounded URL and no expanding redirect loop.

Registered HTTP status

415 Unsupported Media Type

The endpoint does not accept this request representation.

Likely causes
Incorrect Content-Type, body encoding or upload format.
Check first
Compare request headers and actual bytes with the API contract.
What to try
Encode the body correctly and use a supported media type.
Confirm recovery
The server parses the intended data without loosening type validation.

Registered HTTP status

416 Range Not Satisfiable

The requested byte range cannot be served.

Likely causes
An outdated resume offset or invalid range.
Check first
Compare the Range header with the resource length and validators.
What to try
Restart the download safely or request a valid range for the current object.
Confirm recovery
The complete file or valid partial range is returned.

Registered HTTP status

417 Expectation Failed

The receiver cannot meet an Expect request condition.

Likely causes
An unsupported Expect header or intermediary behavior.
Check first
Check Expect and the proxy/server path.
What to try
Use supported client expectation handling instead of replaying an uncertain write.
Confirm recovery
The request completes with the correct final response.

Reserved / unused HTTP status

418 Reserved / unused status

The current HTTP semantics registry reserves this code; it is also associated with teapot examples.

Likely causes
A custom application or demonstration response.
Check first
Identify the product returning it and its documented meaning.
What to try
Fix the application-specific condition; do not assume a standard server failure.
Confirm recovery
The endpoint returns its documented intended response.

Registered HTTP status

421 Misdirected Request

The connection is not authoritative for the requested origin.

Likely causes
TLS SNI, hostname or connection-reuse routing mismatch.
Check first
Compare URL hostname, SNI and virtual-host/CDN routing.
What to try
Correct origin routing and certificate/hostname configuration.
Confirm recovery
A connection for the intended hostname reaches the correct virtual host.

Registered HTTP status

422 Unprocessable Content

The representation is understood but its instructions fail validation; older labels often say Unprocessable Entity.

Likely causes
Missing fields, invalid values or business-rule conflicts.
Check first
Read field-level API errors and validate the submitted values.
What to try
Correct the data or application rules; repeating unchanged input will not help.
Confirm recovery
Valid data is accepted and invalid data gets useful validation feedback.

Registered HTTP status

423 Locked

The resource is locked against the requested operation.

Likely causes
WebDAV locking or application concurrency control.
Check first
Inspect lock ownership and timeout through the application.
What to try
Resolve or release only a lock you are authorized to manage.
Confirm recovery
The authorized operation completes without breaking another user’s lock.

Registered HTTP status

424 Failed Dependency

A required earlier operation failed.

Likely causes
A multi-step or WebDAV operation cannot proceed.
Check first
Find the first failing dependency, not only the final response.
What to try
Correct that prerequisite and rerun through the supported workflow.
Confirm recovery
The prerequisite and dependent operation both finish correctly.

Registered HTTP status

425 Too Early

The server declines a request that may be replayed as early data.

Likely causes
TLS early-data handling for replay-sensitive operations.
Check first
Check the client’s early-data behavior.
What to try
Retry through a normal completed TLS handshake when the client protocol permits.
Confirm recovery
The operation completes without unsafe replay.

Registered HTTP status

426 Upgrade Required

The endpoint requires a different protocol.

Likely causes
A protocol policy or incompatible client.
Check first
Inspect Upgrade and the service’s supported protocol requirements.
What to try
Use a compatible secure client rather than an unrelated redirect workaround.
Confirm recovery
The supported protocol is negotiated and the request completes.

Registered HTTP status

428 Precondition Required

The server requires a conditional request to protect current state.

Likely causes
A write requires a version validator.
Check first
Read the API requirements for If-Match or another precondition.
What to try
Fetch the current version and submit the appropriate guard.
Confirm recovery
The update succeeds with concurrency protection intact.

Registered HTTP status

429 Too Many Requests

A request-rate policy has been exceeded.

Likely causes
Burst traffic, automation, shared-IP limits or repeated retries.
Check first
Identify the limiting layer and inspect Retry-After and account limits.
What to try
Back off with bounded retries; optimize calls or adjust justified limits for legitimate use.
Confirm recovery
Normal traffic succeeds without another request burst.

Registered HTTP status

431 Request Header Fields Too Large

Request headers exceed a limit.

Likely causes
Oversized cookies, tokens or accumulated custom headers.
Check first
Compare header sizes and locate the rejecting layer.
What to try
Reduce unnecessary headers/cookie growth before considering a justified size increase.
Confirm recovery
A normal request succeeds with bounded headers.

Registered HTTP status

451 Unavailable For Legal Reasons

Access is restricted for a stated legal reason.

Likely causes
A policy responding to a legal demand or jurisdictional requirement.
Check first
Read the provider notice and identify the responsible operator.
What to try
Use the operator’s review/contact process; this is not a server-permission fix.
Confirm recovery
The provider confirms the lawful intended availability.

HTTP 5xx: server and gateway responses

Identify which hop generated the response. A visible 5xx alone does not identify the failing process or prove the CDN caused it.

Registered HTTP status

500 Internal Server Error

The server encountered an unexpected condition.

Likely causes
An application exception, invalid configuration or failed dependency.
Check first
Correlate the request timestamp with application and server logs.
What to try
Fix the specific exception or roll back the identified regression after backup.
Confirm recovery
The affected action works and no matching new exception appears.

Registered HTTP status

501 Not Implemented

The server does not implement required request functionality.

Likely causes
An unsupported method or capability.
Check first
Compare the request with supported server/application features.
What to try
Use a supported operation or deliberately implement the needed feature.
Confirm recovery
A documented operation works with the intended semantics.

Registered HTTP status

502 Bad Gateway

A gateway received an invalid upstream response.

Likely causes
An unavailable PHP/backend process, connection failure or malformed upstream response.
Check first
Read the gateway error log and check the exact backend/socket it uses.
What to try
Restore the failing upstream or correct the proven routing/protocol mismatch.
Confirm recovery
The real application request succeeds through the gateway and logs stay clean.

Registered HTTP status

503 Service Unavailable

The service cannot currently handle the request.

Likely causes
Maintenance, overload, admission limits or dependency failure.
Check first
Check service health, capacity, queues and any Retry-After value.
What to try
Resolve the bottleneck or maintenance condition; avoid a retry storm.
Confirm recovery
Requests recover under representative normal load.

Registered HTTP status

504 Gateway Timeout

A gateway did not receive a timely upstream response.

Likely causes
Slow queries, blocked workers, stalled external services or timeout mismatch.
Check first
Trace the slow request and compare proxy, application and dependency timings.
What to try
Fix the slow dependency or move long work to a controlled background job before raising limits.
Confirm recovery
The operation finishes within the intended deadline.

Registered HTTP status

505 HTTP Version Not Supported

The server does not support the requested HTTP version as required.

Likely causes
A client/version mismatch or incorrect protocol handling.
Check first
Compare the actual client protocol with supported server behavior.
What to try
Use a supported protocol or repair the incorrect server/proxy implementation.
Confirm recovery
Negotiation and the complete request both succeed.

Registered HTTP status

506 Variant Also Negotiates

The server has a recursive content-negotiation configuration.

Likely causes
A selected variant is configured to negotiate again.
Check first
Review negotiated resource mappings.
What to try
Correct the circular variant setup.
Confirm recovery
The intended representation is selected without recursive negotiation.

Registered HTTP status

507 Insufficient Storage

The operation cannot store the required representation.

Likely causes
Filesystem capacity, quotas or application storage limits.
Check first
Check disk space, inodes, quotas and the actual storage backend.
What to try
Recover capacity safely or correct the quota/storage issue; preserve logs and backups.
Confirm recovery
The intended write succeeds and storage remains healthy.

Registered HTTP status

508 Loop Detected

A WebDAV operation detected a recursive loop.

Likely causes
A collection/binding traversal loops.
Check first
Review the affected binding graph and multi-status details.
What to try
Correct the recursive relationship through the supported storage workflow.
Confirm recovery
The traversal finishes with consistent resource results.

Obsoleted HTTP extension

510 Not Extended

An obsoleted HTTP extension mechanism reported an unmet extension requirement.

Likely causes
A legacy implementation.
Check first
Identify the product and its protocol documentation.
What to try
Update or reconfigure the legacy integration rather than assuming a universal fix.
Confirm recovery
The client and server use a supported documented exchange.

Registered HTTP status

511 Network Authentication Required

A network intermediary requires authentication before access.

Likely causes
A captive portal or access-controlled network.
Check first
Identify the legitimate network sign-in process without sharing site credentials.
What to try
Complete authorized network authentication or contact its administrator.
Confirm recovery
The intended site is reached securely after network access is established.

Cloudflare edge, origin and security errors

Capture the Ray ID, exact URL and UTC timestamp. A Cloudflare-branded page can describe an origin problem; 1xxx numbers are vendor codes carried inside a separate HTTP response.

Cloudflare HTTP response

502 / 504 Gateway error seen through Cloudflare

The proxied request encountered a bad upstream response or a timeout.

Likely causes
A failing origin/backend or an edge-to-origin exchange problem.
Check first
Correlate response evidence, Ray ID and origin logs; branding alone does not identify the failing layer.
What to try
Repair the identified origin fault; escalate an evidenced edge issue with sanitized request details.
Confirm recovery
The public user action succeeds and the relevant origin/CDN logs agree.

Cloudflare HTTP response

520 Unexpected origin response

Cloudflare could not interpret the origin response normally.

Likely causes
An early close, application crash, malformed response or incompatible upstream protocol.
Check first
Correlate the Ray ID with origin logs and inspect the response headers/status.
What to try
Repair the proven origin failure or protocol mismatch; do not assume every 520 is a firewall issue.
Confirm recovery
The public request returns a complete response and matching origin logs show normal completion.

Cloudflare HTTP response

521 Origin connection refused

Cloudflare could not establish the expected connection because the origin refused it.

Likely causes
A stopped listener or a rejecting firewall/security control.
Check first
Confirm the configured origin address, listening ports and firewall decisions.
What to try
Restore the listener or correct verified access rules for Cloudflare’s documented addresses.
Confirm recovery
Cloudflare can reach the intended service and normal requests succeed.

Cloudflare HTTP response

522 Origin connection timeout

Cloudflare did not complete the required origin connection exchange in time.

Likely causes
Dropped traffic, an overloaded origin or an unresponsive network path.
Check first
Check packet/firewall counters, listener health and origin capacity at the event time.
What to try
Correct connectivity or capacity issues; do not treat this as the same condition as a slow application 524.
Confirm recovery
Public requests establish their origin connection consistently.

Cloudflare HTTP response

523 Origin unreachable

Cloudflare cannot route to the configured origin.

Likely causes
An incorrect origin address or a network routing problem.
Check first
Confirm origin DNS values with the host and inspect routing/connectivity.
What to try
Correct the origin destination or have the network/provider repair the route.
Confirm recovery
The intended origin becomes reachable through the public proxy path.

Cloudflare HTTP response

524 Origin response deadline exceeded

Cloudflare connected but the origin exchange exceeded a proxy timeout.

Likely causes
Long processing, slow queries, stalled uploads or blocked application workers.
Check first
Trace request duration and review the current Cloudflare read/write timeout documentation.
What to try
Fix slow work or move long operations to a controlled asynchronous workflow.
Confirm recovery
The intended request completes within the applicable deadline.

Cloudflare HTTP response

525 Origin TLS handshake failed

Cloudflare could not complete the TLS handshake with the origin.

Likely causes
An incompatible TLS setup, wrong listener, certificate presentation or handshake failure.
Check first
Check origin TLS logs, SNI, supported protocols and the actual HTTPS listener.
What to try
Repair the origin handshake configuration while retaining certificate verification.
Confirm recovery
Cloudflare completes the TLS handshake and the page loads.

Cloudflare HTTP response

526 Origin certificate validation failed

Cloudflare rejected the origin certificate under its validation requirements.

Likely causes
A name mismatch, expired certificate, incomplete chain or untrusted issuer.
Check first
Inspect the certificate, hostname, chain and origin trust requirements.
What to try
Install a suitable certificate and chain; do not switch to insecure verification as the fix.
Confirm recovery
The intended strict HTTPS mode validates the origin successfully.

Cloudflare HTTP response

530 Inspect the underlying Cloudflare code

The response includes a more specific Cloudflare error condition.

Likely causes
Often an underlying 1xxx routing or DNS condition.
Check first
Read the body’s exact vendor code together with the response status and Ray ID.
What to try
Follow that specific code’s diagnosis rather than guessing from 530 alone.
Confirm recovery
The underlying condition clears and the public response is normal.

Cloudflare vendor code, not an HTTP status

1000 Prohibited DNS destination

A proxied record points at a destination Cloudflare does not permit.

Likely causes
An origin record points back to Cloudflare rather than the actual host.
Check first
Compare the DNS target with the origin address supplied by your host.
What to try
Use the correct supported origin target and review accidental proxy recursion.
Confirm recovery
DNS and the proxied request reach the intended origin.

Cloudflare vendor code, not an HTTP status

1001 DNS resolution failed

Cloudflare cannot resolve the required domain path.

Likely causes
An unresolved CNAME target, unsuitable cross-zone setup or upstream DNS failure.
Check first
Trace the authoritative DNS/CNAME chain and confirm the hostname is configured.
What to try
Repair the failing DNS target or supported hostname setup.
Confirm recovery
Authoritative answers and the public request are both correct.

Cloudflare vendor code, not an HTTP status

1002 Restricted or prohibited DNS target

The configured destination is restricted or unsuitable for the zone.

Likely causes
An incorrect origin IP, CNAME target or unsupported zone relationship.
Check first
Check the exact error text and verified origin destination.
What to try
Replace the incorrect target with the host-confirmed supported destination.
Confirm recovery
The domain resolves and proxies without the restricted-target error.

Cloudflare vendor code, not an HTTP status

1003 Direct IP access is not the site hostname

A request addressed an edge IP without the expected hostname context.

Likely causes
Using a raw Cloudflare IP in a browser or an incorrect Host value.
Check first
Inspect the URL hostname and the client’s TLS SNI/Host handling.
What to try
Use the configured public hostname rather than an arbitrary edge IP.
Confirm recovery
A hostname-based request reaches the correct site.

Cloudflare vendor code, not an HTTP status

1004 Host not configured for web traffic

The edge cannot serve this hostname in its current configuration.

Likely causes
Zone provisioning, incorrect DNS or an account/proxy restriction.
Check first
Review zone activation, DNS targets and account notices.
What to try
Correct the configuration or ask the authorized account owner/support to resolve the restriction.
Confirm recovery
The active hostname serves its intended public content.

Cloudflare vendor code, not an HTTP status

1005 ASN access rule denied the visitor

The website’s policy rejected the visitor’s network ASN.

Likely causes
An intentional or overly broad ASN block.
Check first
Find the Ray ID and matching security event/rule.
What to try
The owner should review legitimate access and adjust only the relevant policy if appropriate.
Confirm recovery
Authorized visitors can access the site while intended restrictions remain.

Cloudflare vendor code, not an HTTP status

1006 / 1007 / 1008 / 1106 IP-based access denial

An access policy denied the requesting address.

Likely causes
An IP rule or related security restriction.
Check first
The visitor should record the event; the owner should inspect the matched rule.
What to try
Request a policy review from the site owner rather than attempting to evade it.
Confirm recovery
Legitimate access is restored through an approved policy change.

Cloudflare vendor code, not an HTTP status

1009 Country or region access restriction

The website’s location-based policy refused access.

Likely causes
A country/region restriction.
Check first
Correlate the event with the intended geographic policy.
What to try
Ask the owner to review legitimate access and the narrow rule involved.
Confirm recovery
The intended audience can use the site under the approved policy.

Cloudflare vendor code, not an HTTP status

1010 Browser-signature policy refusal

A browser-related security policy denied the request.

Likely causes
A client signature or security rule decision.
Check first
Compare the affected browser and the matching security event.
What to try
Review the exact rule for false positives without disabling security globally.
Confirm recovery
The legitimate browser completes a normal request.

Cloudflare vendor code, not an HTTP status

1011 Hotlink protection denial

A resource request was rejected by hotlink protection.

Likely causes
An external embedding/referrer pattern conflicts with the policy.
Check first
Check the asset URL, embedding site and expected referrer behavior.
What to try
Correct authorized embedding or the specific hotlink policy.
Confirm recovery
The approved page loads the resource as intended.

Cloudflare vendor code, not an HTTP status

1012 Security-based access denial

The owner’s security policy refused this visitor or network.

Likely causes
A detected abuse pattern or a matching block rule.
Check first
Review the Ray ID and security event; the visitor can check their device security.
What to try
Resolve the identified risk or ask the owner to correct a false-positive rule.
Confirm recovery
Legitimate requests work and the underlying risk is addressed.

Cloudflare vendor code, not an HTTP status

1013 Hostname and SNI differ

The HTTP hostname does not match the TLS hostname context.

Likely causes
A misconfigured client, proxy or virtual-host integration.
Check first
Compare URL, Host and SNI at each relevant hop.
What to try
Align the intended hostname and supported TLS routing.
Confirm recovery
A correctly addressed HTTPS request reaches the right virtual host.

Cloudflare vendor code, not an HTTP status

1014 Unsupported cross-account CNAME

The hostname points to a Cloudflare-managed target in an unsupported account relationship.

Likely causes
A cross-user CNAME without the required supported service setup.
Check first
Confirm hostname ownership and the target provider’s custom-domain requirements.
What to try
Use the provider’s supported Cloudflare for SaaS/custom-hostname onboarding.
Confirm recovery
The approved custom hostname activates and serves correctly.

Cloudflare vendor code, not an HTTP status

1015 Cloudflare rate limit reached

A Cloudflare rate policy limited the client.

Likely causes
Request bursts, automation or a shared limit.
Check first
Inspect rate-limit events and the legitimate request pattern.
What to try
Respect the wait policy and use backoff; the owner can tune a justified narrow limit.
Confirm recovery
Normal authorized traffic remains within policy.

Cloudflare vendor code, not an HTTP status

1016 Origin DNS failure

Cloudflare cannot resolve the required origin hostname.

Likely causes
A broken origin CNAME, unavailable DNS target or custom-hostname routing issue.
Check first
Check the origin hostname’s authoritative DNS and product-specific routing.
What to try
Restore the required DNS target or supported origin configuration.
Confirm recovery
The origin name resolves and the public request succeeds.

Cloudflare vendor code, not an HTTP status

1018 Host configuration not found

The edge cannot find the required host configuration.

Likely causes
Recent activation or partner/provider provisioning and DNS trouble.
Check first
Check activation timing and the partner setup; preserve the Ray ID and timestamp.
What to try
Correct the provider setup or escalate persistent provisioning failures to the authorized support channel.
Confirm recovery
The hostname is consistently served across repeated legitimate checks.

Cloudflare vendor code, not an HTTP status

1019 Worker routing recursion

A Worker-related path recursively invokes itself.

Likely causes
A Worker fetch or routing rule loops back into the same execution path.
Check first
Trace Worker routes and subrequests for a self-reference.
What to try
Correct the recursive routing or fetch destination and test the Worker.
Confirm recovery
The request completes without invoking a recursive chain.

Cloudflare vendor code, not an HTTP status

1020 Cloudflare access rule blocked the request

A security rule denied access.

Likely causes
A rule intentionally matched or produced a false positive.
Check first
Use the Ray ID and UTC time to locate the matching security event.
What to try
The owner should review the match and correct only the proven policy mismatch.
Confirm recovery
Legitimate traffic works while the intended rule remains effective.

Cloudflare vendor code, not an HTTP status

1033 No healthy tunnel connector

Cloudflare cannot find a usable connector for the tunnel route.

Likely causes
cloudflared is disconnected or the route/tunnel setup is wrong.
Check first
Check tunnel health, connector logs and the public hostname mapping.
What to try
Restore the authorized connector and its outbound connectivity/configuration.
Confirm recovery
The tunnel is healthy and the public hostname reaches the service.

Cloudflare vendor code, not an HTTP status

1101 Worker execution exception

A Worker failed while executing the request.

Likely causes
An unhandled runtime exception or a broken response path.
Check first
Inspect Worker logs and the triggering request without publishing secrets.
What to try
Fix the specific exception or roll back the identified deployment regression.
Confirm recovery
The Worker returns the intended response without new exceptions.

Cloudflare vendor code, not an HTTP status

1102 Worker resource limit reached

The Worker exceeded an execution resource limit.

Likely causes
Excessive work or a resource-heavy code path.
Check first
Review Worker diagnostics and current resource limits for the actual runtime.
What to try
Reduce the expensive work or redesign it around the supported limits.
Confirm recovery
Representative requests complete within the runtime budget.

Server, hosting and Linux errors

These are product/log messages, hosting conventions or operating-system errors. Numeric OS values depend on the platform; the errno examples use common Linux values. Read the actual message and namespace.

CloudLinux vendor meaning of 508

508 CloudLinux resource limit reached

A hosting resource guard rejected a request; this is different from WebDAV’s registered 508 loop meaning.

Likely causes
The account reached its concurrent entry-process allowance.
Check first
Correlate CloudLinux resource/fault statistics with the affected requests.
What to try
Reduce slow or excessive concurrent work, or agree a justified capacity change with the host.
Confirm recovery
Normal requests complete within the account’s supported resource budget.

Hosting nonstandard response code

509 Hosting bandwidth allowance exceeded

A hosting system reports that an account reached its transfer allowance.

Likely causes
An enforced account bandwidth quota.
Check first
Compare actual transfer usage, the account policy and unusual traffic.
What to try
Reduce unnecessary transfer or arrange an authorized quota adjustment; investigate unexpected usage.
Confirm recovery
The account is within the agreed allowance and the website responds normally.

Nginx nonstandard internal status

444 Connection deliberately closed

Nginx can close a request without sending an HTTP response.

Likely causes
An intentional return 444 policy.
Check first
Read the matched server/location configuration.
What to try
Correct an unintended rule; preserve intentional access restrictions.
Confirm recovery
Allowed traffic gets the intended response.

Nginx nonstandard log status

499 Client disconnected before completion

Nginx logged that its client closed the connection.

Likely causes
A browser, proxy or load balancer abandoned the request.
Check first
Correlate upstream timings and the real client/proxy timeout.
What to try
Fix the slow path or mismatched deadlines rather than treating 499 as an origin response sent to a browser.
Confirm recovery
The client receives the complete intended response.

Nginx / PHP-FPM log message

connect() to unix socket failed Backend socket connection failed

Nginx could not use the configured upstream socket.

Likely causes
A missing socket, stopped FPM service or access mismatch.
Check first
Compare the configured socket path with the real FPM pool/listener.
What to try
Correct the proven listener or permission mismatch.
Confirm recovery
The real PHP request completes through that socket.

Linux error number

errno 13 Permission denied

An operating-system access check refused an operation.

Likely causes
Owner, mode, ACL or security-policy restrictions.
Check first
Identify the exact path, account and denied operation.
What to try
Grant only the required access; avoid blanket 777 permissions.
Confirm recovery
The intended operation works with least privilege.

Linux error number

errno 28 No space left on device

A write could not allocate required storage.

Likely causes
Full space, exhausted inodes or a storage/quota condition.
Check first
Check the relevant filesystem, inodes and quotas.
What to try
Recover capacity without deleting unknown data or backups.
Confirm recovery
The write succeeds with capacity remaining.

Linux error number

errno 24 Too many open files

The process reached its file-descriptor limit.

Likely causes
Descriptor leaks or excessive concurrency.
Check first
Inspect the process descriptors and effective limits.
What to try
Fix leaks or capacity planning before raising a justified limit.
Confirm recovery
Descriptor use remains bounded under normal load.

Linux error number

errno 111 Connection refused

The destination actively refused the connection.

Likely causes
No listener or an explicit reject policy.
Check first
Check the intended host, port and listening service.
What to try
Restore the correct listener or authorized network rule.
Confirm recovery
The intended connection is established.

PHP runtime failures

Inspect the exact exception and runtime used by the web request. PHP error-level numbers are a separate namespace from HTTP.

PHP error level

E_ERROR Fatal runtime error

PHP cannot continue the current script.

Likely causes
A fatal condition reported in the private error log.
Check first
Find the first fatal message and affected code path.
What to try
Fix the identified fault and test on staging.
Confirm recovery
The action completes without another fatal entry.

PHP error level

E_PARSE PHP syntax error

PHP cannot parse the script.

Likely causes
Malformed syntax or incompatible language features.
Check first
Lint the changed file with the intended PHP version.
What to try
Correct the syntax or version mismatch.
Confirm recovery
Lint and the real application action both pass.

PHP error level

E_WARNING PHP warning

PHP reported a runtime warning; execution may continue.

Likely causes
A failed operation or invalid assumption.
Check first
Find the warning location and its actual effect.
What to try
Correct the failing operation rather than suppressing all warnings.
Confirm recovery
The intended behavior works without new warnings.

WordPress website and editor messages

WordPress messages can wrap PHP, database, REST or proxy failures. The visible message alone does not identify a plugin or prove malware.

WordPress message

Error establishing a database connection WordPress cannot connect to its database

WordPress could not establish its required database session.

Likely causes
An unavailable database, incorrect connection settings or exhausted capacity.
Check first
Check private database/PHP logs and verified DB_HOST/account details.
What to try
Restore the proven connection/capacity issue without publishing credentials.
Confirm recovery
The intended site and admin request both connect normally.

WordPress message

There has been a critical error WordPress caught a fatal application error

An underlying PHP failure interrupted the application.

Likely causes
A code, extension or compatibility problem.
Check first
Use private logs/recovery information to identify the first exception.
What to try
Test a targeted fix or rollback on staging with recoverable backups.
Confirm recovery
The affected operation works without another fatal error.

WordPress message

Briefly unavailable for scheduled maintenance Maintenance state remained active

The site is presenting an update/maintenance response.

Likely causes
An interrupted or ongoing update.
Check first
Confirm whether an updater is still running and inspect its completion.
What to try
Use the documented recovery process only after excluding an active update.
Confirm recovery
The update state is consistent and the site serves normally.

MySQL and MariaDB numeric errors

Confirm the database engine/version and SQLSTATE. Similar numbers in another product do not carry the same meaning.

MySQL / MariaDB error number

1045 Database access denied

The database rejected account authentication.

Likely causes
Wrong credentials or host/account matching.
Check first
Check the intended account, host and authentication method.
What to try
Correct authorized credentials or account matching.
Confirm recovery
The least-privilege account connects successfully.

MySQL / MariaDB error number

1062 Duplicate unique value

A write conflicts with a unique constraint.

Likely causes
A repeated insert or conflicting data.
Check first
Inspect the named key and intended operation.
What to try
Reconcile the data; avoid blindly deleting the existing row.
Confirm recovery
The intended write preserves uniqueness.

MySQL / MariaDB error number

1213 Transaction deadlock

A transaction was chosen to resolve a deadlock.

Likely causes
Concurrent transactions lock resources incompatibly.
Check first
Inspect the deadlock report and lock ordering.
What to try
Improve transaction ordering and use bounded safe retries.
Confirm recovery
Transactions complete without repeated conflicts.

Browser, DNS and HTTPS errors

A browser may fail before it receives any HTTP response. Use the Network/Console panels to distinguish transport failures from server status codes.

Browser / DNS condition

ERR_NAME_NOT_RESOLVED / NXDOMAIN Hostname resolution failed

The browser could not obtain a usable address; NXDOMAIN specifically means the queried DNS name does not exist.

Likely causes
A typo, missing record or resolver/delegation problem.
Check first
Check authoritative DNS and the exact requested hostname.
What to try
Repair the proven DNS issue; do not assume every resolver failure is NXDOMAIN.
Confirm recovery
The intended hostname resolves and loads over HTTPS.

DNS response code

SERVFAIL DNS server could not answer successfully

The resolver returned a DNS processing failure.

Likely causes
DNSSEC validation, delegation or authoritative-server problems.
Check first
Compare authoritative answers and DNSSEC validation for the exact name.
What to try
Correct the failing delegation/signature/server condition rather than disabling validation globally.
Confirm recovery
Validating resolvers return the intended answer.

Browser TLS error

ERR_CERT_AUTHORITY_INVALID Certificate trust failure

The browser cannot build an acceptable trust path.

Likely causes
An incomplete/untrusted chain or local trust interception.
Check first
Inspect issuer, chain, hostname and the affected client’s trust environment.
What to try
Install a suitable chain or repair the authorized trust setup; do not teach users to bypass warnings.
Confirm recovery
Normal verification succeeds in the intended browsers.

Browser navigation error

ERR_TOO_MANY_REDIRECTS Redirect loop

The client followed a repeating or excessive redirect path.

Likely causes
Conflicting canonical, HTTPS, application or proxy rules.
Check first
Capture the chain and compare forwarded scheme/host handling.
What to try
Remove the conflicting rule after identifying the loop; repeated cache purges alone are not a repair.
Confirm recovery
The intended URL reaches its final content without a loop.

Browser security policy

CORS error Cross-origin response not accessible to script

The browser blocked script access under cross-origin policy.

Likely causes
An origin/header mismatch or failed preflight.
Check first
Inspect the real request, OPTIONS response and browser CORS diagnostic.
What to try
Set the narrow intended origin/method/header policy; credentialed access needs appropriate explicit settings.
Confirm recovery
The authorized cross-origin action works without broadening access unnecessarily.

Browser security policy

Content Security Policy violation CSP blocked an operation

The browser enforced a policy that refused a resource or action.

Likely causes
A missing intended source or a deliberately blocked unsafe operation.
Check first
Read the blocked directive, source and enforced versus report-only context.
What to try
Adjust only a justified source/nonce/hash requirement; do not remove CSP as a generic fix.
Confirm recovery
Required behavior works while the intended restrictions remain.

Common cURL error numbers

These are client/library outcomes, not the remote HTTP status. Read the actual cURL message and keep TLS verification enabled.

End of the entries.

What you can do

  • HTTP status families and Cloudflare codes

  • Nginx, PHP, WordPress, database and browser errors

  • Meaning, causes, checks, fixes and how to confirm them

  • Search, category filters and shortcuts for common codes

  • A link, copy and print for every entry, with official references

How to use it

  1. Find the entry

    Choose the right namespace, then search for the code, the exact message or the symptom.

  2. Gather the evidence

    Note the request details and match up the logs before you choose a fix.

  3. Fix and confirm

    Back up before any change, test one fix you can justify and check the real visitor action and the private logs afterwards.

Troubleshoot from the evidence, one layer at a time

Use this guide to understand a code you have seen and to choose the next check. Similar messages can have different causes in a CDN, a proxy, the application or the database. It covers common and registered HTTP codes plus practical examples from other systems; it does not list every error from every product.

Know the limits

This is general technical guidance, not an automatic diagnosis, access to your server, legal advice or a promise of recovery. Products and their rules change, and some listed statuses are informational, reserved, deprecated or temporary. Confirm unusual codes in the linked official documentation, and do not upload secrets or make broad security or permission changes based only on a number.

Scope and references

HTTP entries include unusual, reserved, deprecated and temporary codes, each labelled. Cloudflare plan limits and behaviour can change, so check the linked official reference before you rely on a rare code or change settings. The HTTP headers check, DNS lookup, HSTS checker and Linux commands help with related tasks.

Troubleshooting questions

Is every HTTP status an error?

No. Informational, success and redirect responses often describe normal behaviour. Even an error status names a condition, not the root cause. Look at the whole request and response.

Are Cloudflare 1xxx codes HTTP statuses?

No. They are Cloudflare's own codes, sent inside a separate HTTP response. Note both the real HTTP status and the Cloudflare number, Ray ID, address and time.

How do I tell whether the CDN or my server caused the problem?

Match up the response, the CDN's events and your server and application logs for the same request. A logo on the error page or a Server header alone is not proof.

Should I raise timeouts or memory limits straight away?

No. First find the operation that fails, what is slowing it down and the settings that really apply. A bigger limit can hide a fault or exhaust a shared server. Change only a setting you can justify, then check capacity and recovery.

Can I fix permission errors with chmod 777?

Avoid blanket permission changes. Find the exact file, service account, owner, access list and security policy involved, then grant only the access that is needed and test it.

Should I turn off Cloudflare, TLS checks or security rules?

Do not remove security as a general fix. Find the exact failure and correct the setting, certificate, route or access rule that is wrong, and keep the checks and protections you need.

What should I collect before asking for help?

Note the exact code or message, the address without secrets, the time in UTC, the method, the response headers, any request or Ray ID and the relevant private log lines. Remove passwords, cookies and personal data before you share them.

Does this guide diagnose my server or promise a fix?

No. It is a reference with likely causes and troubleshooting steps. It does not connect to your server, read private logs or make changes. Back up, test and confirm the real result on your own system.

Related tools

  • HTTP headers

    Inspect HTTP response headers and redirects.

  • DNS lookup

    Review DNS records and email policies.

  • Linux commands

    Search explained Linux commands and copy examples.

  • Nginx

    Prepare routing, HTTPS and cache configuration.

  • WP-CLI commands

    Build installation and maintenance commands.