ERR_TOO_MANY_REDIRECTS with Cloudflare (Flexible SSL redirect loop)
The page redirects to itself forever — classic cause: Cloudflare SSL mode “Flexible” while the origin redirects HTTP to HTTPS.
Seen on:
Cloudflare
Meaning
In Flexible mode Cloudflare talks to the origin over HTTP. If the origin (WordPress, .htaccess, nginx) redirects HTTP → HTTPS, Cloudflare requests HTTP again, and the loop never ends.
Common causes
- SSL/TLS mode Flexible + origin forcing HTTPS
- Conflicting redirect rules (Page Rules, Always Use HTTPS, origin)
- WordPress siteurl mismatch with proxy setup
⚡ Quick fix
- Set SSL/TLS mode to Full (strict) with a valid origin certificate
- Remove duplicate redirect rules
- For WordPress behind Flexible, honour X-Forwarded-Proto (prefer Full strict)
Detailed fix by platform
Cloudflare
# SSL/TLS → Overview → Full (strict); install a Cloudflare Origin CA cert on the server
Shell
curl -sIL http://example.com | grep -iE '^(HTTP|location)' | head -20
How to diagnose
- Mode — SSL/TLS setting
- Chain — Redirect hops (curl -IL)
- Origin — Forces HTTPS?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in Cloudflare
Other ways to find it
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026