Short answer
A common cause is Cloudflare’s Flexible mode: in Cloudflare’s SSL/TLS settings, change Flexible to Full (strict), which needs a valid certificate on the Vercel side. If the loop continues after that, look for app redirects, Vercel domain redirects and Cloudflare rules that send the same address back and forth.
Why the redirects loop, and the fix
01
Cloudflare’s SSL/TLS mode is Flexible
“The browser connects to Cloudflare over HTTPS, but Cloudflare connects to Vercel over HTTP. Vercel redirects HTTP to HTTPS, so the browser repeatedly requests the same HTTPS URL.” Vercel, Reverse Proxy Servers and Vercel
With Flexible, Cloudflare talks to Vercel over plain HTTP. Vercel sends every HTTP request to HTTPS, Cloudflare asks over HTTP again, and the loop never ends.
02
The fix: Full (strict) with a valid certificate
“In Cloudflare's SSL/TLS settings, use Full (strict) with a valid certificate on the Vercel origin.” Vercel, Reverse Proxy Servers and Vercel
Switch the SSL/TLS mode to Full (strict). Vercel notes that Full also uses HTTPS to Vercel but doesn’t validate the certificate. If Vercel hasn’t issued the certificate yet, use its certificate diagnostics before switching. Vercel says its automatic HTTP-to-HTTPS redirect can’t be disabled, so the fix is on the Cloudflare side.
03
Redirects that point at each other
“If the loop continues with HTTPS to the origin, inspect application redirects, domain redirects, and Cloudflare rules for conflicting destinations or schemes.” Vercel, Reverse Proxy Servers and Vercel
If the mode is already Full (strict), something else sends the address in a circle: a redirect in the app, a www or apex redirect in Vercel’s domain settings, or a Cloudflare rule. Check that they all agree on one final address and on https.
Checked against the vendor’s docs on : Vercel docs: Reverse Proxy Servers and Vercel.
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
- from $450App Fix TicketOne reproducible bug in an existing mobile or web app, diagnosed and fixed.See scope and start
- from $450AI-Built App RescueA Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way.See scope and start
Related: Vercel 404 on a Ready deployment · 404 on refresh: Netlify and Vercel · Vercel 413 payload too large · Vercel deployment blocked: commit author