Debugging redirect loop errors that only appear when Page Rule is 'Cache Always'

I’m trying to figure out what combination of options will allow my domain to cache everything (all pages, not just the Cloudflare extensions cached by default) and not throw a too many redirects error.

There is an SSL redirect on my origin, which is a Digital Ocean App. I cannot remove this (I don’t think…)

I have tried these combinations of rules to accomplish this, with the following results:

Option 1: Too many redirects
domain.com/* => Cache Everything

Option 2: Too many redirects
domain.com/* => Cache Everything
domain.com => Force SSL

Option 3: Pages not cached (cf-cache-status: DYNAMIC)
domain.com => Force SSL
domain.com/* => Cache Everything

Once again - the too many redirects error ONLY happens when I try and cache HTML pages. If I let them go to my origin, they’re fine. (Slow, but fine).

What else can I try? Again, Digital Ocean forces the SSL redirect as part of their DO App buildpack. My next step will be to investigate how to disable that so Cloudflare alone can handle the SSL redirects, but DO Apps are a fairly new product with limited documentation.

And the other perplexing thing? I have a staging site at dev.domain.com that doesn’t have this problem; I can get the subdomain working as intended with subdomain specific page rules. It only seems to happen on the bare domain.

Any ideas? I’m banging my head against a wall here… thanks.

For future reference, I think I got it with just a single page rule. You must put the scheme in the Cache-Everything page rule. ie https://domain.com/* => Cache Everything.