The most common Cloudflare complaint.
THE CAUSE
The SSL mode is set to Flexible. Cloudflare requests http from us, our Force HTTPS redirect sends it back to https, and Cloudflare requests http again.
THE FIX
Cloudflare dashboard, SSL/TLS, Overview. Set it to Full (strict).
The loop resolves within seconds.
IF FULL STRICT PRODUCES AN ERROR
Our certificate is not valid for that hostname. Run AutoSSL in cPanel, ticking every domain and subdomain, then retry.
Full without strict works as an interim step and is less secure; fix the certificate and return to strict.
OTHER CAUSES OF A LOOP
Multiple redirect mechanisms: the cPanel Force HTTPS toggle, an .htaccess rule and a plugin setting all active.
Disable all but one.
A Cloudflare page rule forcing a redirect that conflicts with one at our end.
TESTING
Always in a private window. Browsers cache redirects and continue showing the loop after it is fixed.
THE DIAGNOSTIC HABIT
If a loop appears immediately after enabling Cloudflare, check the SSL mode before anything else.