I’m using DreamHost as my web host. So I enabled CloudFlare services via the DreamHost control panel. It was fairly easy to set up.
But the caveat was my website had to be redirected from desplusdev.com to www.desplusdev.com. No biggie. It was just a simple checkbox that I had to enable. My original settings was that the website could be accessed whether or not the www was present. It wouldn’t redirect. When all settings were saved, I was greeted by a congratulations message and it told me I had to wait a few hours for the DNS to propagate.
After a few hours of excitement, I visited my website. Uh oh. Chrome kept telling me the website was inaccessible. It said “ERR_TOO_MANY_REDIRECTS”.
Google search led me to realize my WordPress site URL setting needed to change to include www.
Okay. But how? I couldn’t access my website, let alone the admin area.
Keep on loooopin’
Don’t worry. Let’s bring out the good ‘ole hack. I connected to my phpMyAdmin, went to the options table and modified siteurl and home field to include the www in all the addresses.
Refreshed my website. No luck. Still looping.
Refreshed again. Naw man. Continued loooopin’.
I thought somehow the database was messed up. Some shits happening. Oh and I did clear cache and cookies, but the website still failed to load.
Then I thought about the old fashioned way – actually going into WordPress admin and changing the URLs in the settings.
I disabled CloudFlare. And waited again. Yes. The downside with this approach was the DNS propagation taking its own sweet time. But it wasn’t long, roughly 10 minutes that I was able to load the website.
What a relief to see it still alive! Weeee.
Ok. I went to settings and prepared to update the URL. And to my disbelief, what the fuck was I thinking? Of course editing the database would change it. The URL was already showing a www.
How dummy dumb dumb I am.
But it was very nice to see the website back alive (oh and I forgot to mention that just yesterday DreamHost was attacked with DDoS while they were in court in Washington) So not seeing my website for a couple of hours was devastating.
After making sure the URL was set correctly, I enabled CloudFlare again.
And waited another 10 minutes.
Oh holy hell no. It was still in its infinite loooooop!
After much Googling, I came across this article and it saved my frustration.
I had SSL enabled through DreamHost. Apparently, if you have it on DreamHost, the one-click CloudFlare service enabler will also grant you SSL in CloudFlare’s platform.
The incessant redirect loop was because of the Flexible SSL option that was enabled on the CloudFlare side. As described by CloudFlare, Flexible SSL is for use when “you cannot configure HTTPS support on your origin”. But in DreamHost, SSL was very configurable.
So what I did was I set the SSL setting on CloudFlare to Full SSL. Voila, my website came back alive.
Easy fix, but not so smooth.
There’s also a CloudFlare WordPress plugin that you can install, which supposedly fix the SSL loop issue, but I haven’t tried it yet.