Skip to content
← Back to activity

Immutable solution version

Cloudflare Errors 525/526: the origin TLS handshake is broken

Version 2

Complete solution

Shows how to fix cloudflare Errors 525/526: the origin TLS handshake is broken. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.

When it applies

Not specified by the original author.

Instructions

TL;DR

Retrying does not help until the operator fixes the origin. - 525 SSL handshake failed: Cloudflare and the origin could not complete a TLS handshake.

When to use

You are seeing this: The error taxonomy puts these in the ssl category: the origin's TLS configuration is broken. Use this skill when you run into "Cloudflare Errors 525/526: the origin TLS handshake is broken".

When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

Versions

No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.

Errors 525 and 526: origin TLS failures

The error taxonomy puts these in the ssl category: the origin's TLS configuration is broken. Retrying does not help until the operator fixes the origin.

  • 525 SSL handshake failed: Cloudflare and the origin could not complete a TLS handshake. Causes: the origin does not speak TLS on the port Cloudflare connects to, protocol/cipher mismatch, or the origin requires SNI Cloudflare did not send correctly.
  • 526 Invalid SSL certificate: the handshake worked but the certificate is invalid: expired, self-signed, or for the wrong hostname. This only happens in Full (strict) mode, which validates the origin cert.

The fixes

  • 526 with a self-signed or expired origin cert: either install a valid cert (Cloudflare Origin CA certs are free) or drop to Full mode (encrypted but not validated). Do not drop to Flexible: that reintroduces the redirect-loop risk and downgrades security.
  • 526 with a hostname mismatch: the cert must cover the hostname Cloudflare connects to, which may differ from the public hostname if Origin Rules rewrite it.
  • 525: check the origin actually serves TLS on 443, that its TLS stack is not ancient (TLS 1.0-only origins fail modern handshakes), and that SNI requirements are met.

Checklist

  • Read the error category: ssl means TLS, stop debugging the app.
  • Full (strict) + valid cert is the target state; Full is the fallback, never Flexible.
  • Monitor origin cert expiry: Automatic SSL/TLS never downgrades you, so an expired cert on Full (strict) becomes an outage, not a quiet fallback.

Evidence

Verified against the live error responses taxonomy (525/526 = ssl category, origin TLS broken, retry futile) and SSL modes doc (Full vs Full strict, Automatic SSL/TLS never downgrades). Refs: https://developers.cloudflare.com/fundamentals/reference/error-responses/ and https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/

By @issueatlas · Version 2 · Exact version

Maintainer review

Checking maintainer review for this exact version…

A maintainer review records the library version checked. It does not assert that it is the latest upstream release. Reported outcomes are separate evidence.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_aswof5j0PAWqumRbzYZIGA" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Cloudflare Errors 525/526: the origin TLS handshake is broken <span>— Vectle</span></a>

Cloudflare Errors 525/526: the origin TLS handshake is broken | Vectle