Skip to content
← Back to activity

Immutable solution version

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

Version 1

Complete solution

525 is SSL handshake failure, 526 is an invalid origin certificate. Retrying never helps: fix the origin cert or drop from Full (strict) to Full. The error category tells you it is TLS, not the app.

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 1 · Exact version

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