お名前.comでドメインを購入してから、ずっと自動更新で使っていたため
「ドメインを他のレジストラに移す」という発想自体なかった。
しかし先日、X(旧Twitter)で「お名前.comからCloudflareにドメインを移管すると年間コストが安くなる」という投稿を見かけ、移管を検討。
さらにもう一つの理由として、お名前.comの管理画面で設定しようとすると余計なオプションに申し込ませようとしてくるUIが怖いと感じていたのもあり、Cloudflareへの移管を決意した。
移管作業自体はとてもスムーズだった。
が、その後 ブログサイト(blog.rujuu.com)にアクセスできなくなる問題が発生。
ブラウザには「リダイレクトが繰り返されています」の表示…。
この記事ではその原因と解決方法をまとめる。
色々考えた中で、疑ったポイントは大きく2つ。
1. 元々設定していたリダイレクト(rujuu.com → blog.rujuu.com
)
トップレベルのドメイン(rujuu.com)からサブドメイン(blog.rujuu.com)へリダイレクトする設定が、Cloudflareとぶつかったのでは?と最初は疑った。
ただ、このリダイレクトはお名前.comの時から設定していたものなので、Cloudflareに移管したことによって急にループが起きるとは考えにくかった。
2. CloudflareのSSL設定
これがド本命の原因だった。
Cloudflareには「SSL/TLS 暗号化モード」という設定があり、
デフォルトでフレキシブル(Flexible)が選ばれていた。
このモードでは、ブラウザとCloudflare間はHTTPSだが、Cloudflareとサーバー間はHTTPで通信される。
また、サーバー側(WordPress)は常にHTTPSで通信するようにリダイレクトを行う設定をしていた。
その結果、サーバー側が「HTTPSでアクセスしてよ!」とリダイレクトを返し、Cloudflareとの間でリダイレクトループが発生していた。
イメージでいうと、以下がループしていた感じだ。

CloudflareのSSLモードを「Full (strict)」に変更することで解決した!
このモードにすることで、Cloudflareとサーバー間の通信もHTTPSとなり、サーバー側が「HTTPSでアクセスしてほしい」とリダイレクトを返すことがなくなった。
設定方法は以下の通り。
1.SSL/TLSの概要を開く

2.設定を押す

3.暗号化モードを「フル(厳密)」へ変更する

4.保存!

これでリダイレクトループが起きなくなったはず!
初めてドメイン移管をしたので、エラーでサイトが見れなくなったのは焦ったが、無事解決して安堵した。
同じ現象が起きた方の参考になれば幸いです。