If you are using Cloudflare with Let’s Encrypt your website might enter a redirect loop.
I decided to write this article because the existing content out there didn’t help me resolve my issue effectively, and I figured there might be a few people in a similar system.
There are a couple of reasons for this which I will cover below to help you solve this issue.
1. Cloudflare SSL is set to flexible
The first and most common issue, is when Cloudflare SSL is set to flexible. Flexible means that SSL requests for your website will reach Cloudflare (instead of being forced to go through Let’s Encrypt) and Cloudflare will try to serve your website over HTTP. This results in a loop.
To fix this issue, set Cloudflare SSL to Full Strict so that Cloudflare will serve your website over HTTPS.
2. HTTP proxy is enabled
If Cloudflare SSL is set to Full Strict, and the issue still remains, then it could be due to Cloudflare’s HTTP proxy setting that is usually enabled by default when adding A records.
When the cloud symbol is orange, HTTP proxy is active on that particular A record. Disabling HTTP proxy allowed me to resolve this issue on a Staging environment using a subdomain A record on Siteground.