Why Am I Getting Cloudflare Error 526: Invalid SSL Certificate?

Unlike the rest of the 52x family, this one needs two things to be true at once — and the second is a setting in your own dashboard.

Updated September 3, 2026 · 8 min read

Cloudflare error 526 means two things are true at once: your encryption mode is Full (strict), and Cloudflare could not validate the certificate your origin presented. Fix the certificate, or change the mode.

Everything people find confusing about this error follows from that pairing. A certificate can be broken for months without anyone noticing, because in every other mode Cloudflare does not look. So “Cloudflare 526” is rarely a report that something just broke at your origin — more often it is a report that something started being checked. Like the rest of the family, error code 526 is generated at Cloudflare’s edge rather than by your application, so your own logs may show nothing at all, and it can only occur on a proxied record.

Two conditions, and both have to hold

Where a Cloudflare 526 error happens on the path to your originVisitorreaches Cloudflare normallyCloudflare edgeopens TLS to the origin on 443Origin serverpresents a certificateit answered, sothis is not a521, 522 or 525Cloudflare checks itagainst its trust storeFull: skippedFull (strict):enforcedError 526invalid SSL certificate
The handshake reached the point where your origin handed over a certificate. Everything that goes wrong after that point is a validation decision, and only Full (strict) makes it.

Cloudflare’s documentation for error 526 states the two conditions explicitly: Cloudflare cannot validate the SSL certificate at your origin web server, and Full (strict) is the encryption mode set for the domain. The second condition is what makes this an invalid SSL certificate error rather than a connection error, because Full mode connects to the origin over HTTPS without validating the origin’s certificate — it is documented as the mode for origins with self-signed or otherwise invalid certificates. No validation, no 526.

What makes a certificate invalid to Cloudflare

Cloudflare’s edge trusts certificates issued by a certificate authority in its own published trust store. The 526 checklist in the docs is really a list of ways to fall outside it:

What is wrong with the certificateHow it usually got that way
ExpiredA renewal job that stopped running, or a certificate nobody was tracking
RevokedReissued after a key compromise, with the old certificate left installed
Self-signed rather than CA-issuedA default certificate shipped by the web server or control panel
Hostname not in the Common Name or Subject Alternative NameA certificate issued for the apex only, then used for a subdomain
Incomplete chainOnly the leaf installed, without the intermediate CA certificates
Port 443 not accepting connectionsHTTPS never enabled at the origin, or firewalled off

The incomplete chain is the one worth singling out, because it is the case where your site looks fine in a browser and still returns 526. Cloudflare requires the origin to serve the leaf certificate together with any required intermediates, so that a trusted chain up to a root CA can be built. If your server only sends the leaf, there is nothing for Cloudflare to build with.

526 vs 525: rejected, not un-negotiated

These two are the pair people mix up, and the split is clean: 525 is a handshake that never finished, 526 is a handshake that finished and produced something Cloudflare would not accept.

 Error 525Error 526
Cloudflare’s name for itSSL handshake failedInvalid SSL certificate
What failedThe TLS negotiation itselfValidation of the certificate that was negotiated
Modes it can occur inFull and Full (strict)Full (strict) only
Typical causesNo certificate installed, port 443 closed, no SNI support, or cipher suites the origin and Cloudflare do not shareExpired, revoked, self-signed, wrong hostname, or missing intermediates

Why it started on a site nobody touched

Three mechanisms account for most “this was working yesterday” reports, and none of them involves anyone editing a server.

  • Automatic SSL/TLS moved you to Full (strict). Cloudflare’s encryption mode setting now defaults to a mode chosen for you by the SSL/TLS Recommender, which upgrades gradually — 1% of traffic, then 10% increments — and aborts if origin connectivity fails during the rollout. That is the benign path. The trap comes later: Cloudflare states plainly that Automatic SSL/TLS will notmove you back to a less secure mode if your origin certificate later expires. Once you are on Full (strict), you own that certificate’s validity for good.
  • A Cloudflare Origin CA certificate quietly expired. These are long-lived, which is the point, and Cloudflare documents that it does not currently send expiration notifications for them. A certificate issued years ago by someone who has since left is exactly the kind of thing that surfaces as a sudden 526.
  • A renewal reinstalled the leaf without its intermediates. Automated renewals usually get this right; a hand-copied .crt file often does not.

Confirming it yourself

Ask the origin directly, with Cloudflare out of the path, so you see the same chain Cloudflare sees:

# Ask the origin directly what chain it serves, bypassing Cloudflare
openssl s_client -connect 203.0.113.10:443 -servername example.com </dev/null

# Look for these three lines in the output:
#   Certificate chain      -> must include the intermediate, not just the leaf
#   Verify return code: 0  -> anything else is what Cloudflare is rejecting
#   notAfter=...           -> the expiry date, in UTC

Cloudflare’s own suggestion is the browser-based equivalent: pause Cloudflare and run your hostname through an SSL checker. Either way you are looking for the same three things: the chain includes an intermediate, the verification succeeds, and the expiry is in the future.

Three ways out, cheapest first

  1. Install a Cloudflare Origin CA certificate. Free on every plan including Free, issued from the dashboard, and trusted by Cloudflare by design. One caveat that catches people: these certificates encrypt only the Cloudflare-to-origin hop and are not publicly trusted, so if you later switch that record to DNS only, visitors will see certificate warnings.
  2. Upload your CA to the Custom Origin Trust Store. The route for an internal or private CA — but it requires Advanced Certificate Manager on the zone, and once a CA is uploaded Cloudflare ignores its default trust store for that zone entirely and uses only what you supplied.
  3. Drop to Full.Cloudflare lists this first as a “potential quick fix”, and it does stop the error immediately — because the check stops happening. Traffic to your origin stays encrypted but unauthenticated. Treat it as a way to buy an afternoon, not a resolution.

Two places where your zone setting does not apply

Both are documented, and both produce a 526 on a zone that is not in Full (strict) at all — which is why they are worth knowing before you spend an hour checking a setting that is already correct.

Workers. A subrequest from a Worker to a hostname outside your Cloudflare zone that is not proxied by Cloudflare always uses Full (strict), regardless of the zone configuration. If you need such a fetch to trust a private CA, the Custom Origin Trust Store applies only once the cots_on_external_fetch compatibility flag is enabled.

Cloudflare Gateway. In the Zero Trust path a 526 means Gateway distrusted the origin — an unknown or revoked issuer, an expired certificate anywhere in the chain, a name mismatch, or a name containing characters such as underscores that Chrome tolerates and Gateway does not. Gateway also refuses origins that offer only insecure cipher suites, or that redirect every HTTPS request to HTTP.

Where 526 sits among the origin errors

ErrorHow far the connection got
521Refused at once — no TCP connection
522Silence — no TCP connection within 19 seconds
525TCP connected, TLS handshake failed
526TLS handshake succeeded, certificate rejected

Read down that column and the family becomes a single sequence: each error is the connection getting one step further before failing. A 526 is the furthest of the four, which is genuinely good news — the network path works, the port is open, TLS negotiates. Only the paperwork is wrong. The 5xx index covers the rest of the family, and the guide to the encryption modes covers the setting that decides whether the paperwork gets checked.

FAQ

What does Cloudflare error 526 mean?

It means Cloudflare could not validate the SSL certificate your origin server presented, while your encryption mode was set to Full (strict). The TLS handshake itself worked and your server did send a certificate; Cloudflare then refused to trust it and returned error 526, invalid SSL certificate, to the visitor.

How do I fix Cloudflare error 526?

Fix the certificate rather than the symptom: install one issued by a public certificate authority or a free Cloudflare Origin CA certificate, make sure it has not expired, make sure the hostname appears in its Common Name or Subject Alternative Name, and make sure your server sends the intermediate certificates alongside the leaf. Switching the encryption mode from Full (strict) to Full also clears the error, but only because it stops Cloudflare checking at all.

What is the difference between Cloudflare error 525 and 526?

A 525 means the TLS handshake between Cloudflare and your origin failed outright, so no usable certificate was ever exchanged; common causes are no certificate installed, port 443 closed, no SNI support, or mismatched cipher suites. A 526 means the handshake got far enough for your origin to present a certificate and Cloudflare rejected it as invalid. Error 525 can occur in both Full and Full (strict), while 526 requires Full (strict).

Can error 526 happen in Full mode?

No. In Full mode Cloudflare connects to your origin over HTTPS without validating the origin certificate, so there is no validation step to fail. Cloudflare documents error 526 as occurring only when Full (strict) is set. If you are seeing 526 and believe you are not in Full (strict), check whether Automatic SSL/TLS upgraded the zone for you, or whether the request came from a Worker or from Cloudflare Gateway, both of which apply Full (strict) regardless of the zone setting.

I am a visitor, not the site owner. Can I fix a 526?

No. Error code 526 is produced at Cloudflare's edge because the website's own server presented a certificate Cloudflare would not accept, and nothing on your device or network causes it or can work around it. Reporting the problem to the site owner, and trying again later, are the only useful actions.

Manage this from your phone

Orange Cloud is a native iOS and Android client for Cloudflare. Sign in with Cloudflare OAuth and flip proxy status, edit DNS records, and read traffic analytics from anywhere.

Get Orange Cloud