経緯#
今までこのサイトは Cloudflare Pages を利用してホスティングしていたのですが、ページのロード時間に対して少し不満がありました。 無料で使えるサービスとしては十分実用的ではあるのですが、別途で契約しているさくらのレンタルサーバ + CDN(Cloudflare)の構成の方がページのローディング時間が短いと過去のテストで判明していたので今回お引越しを行いました。
引越し作業でハマった点#
このブログは Hugo を用いた静的なサイトであるため、データの移行自体はすぐに終わりました。 じゃあどこで躓いたのかというと、それはSSL証明書周りです。 Cloudflare Pagesを使用している場合はその辺をいい感じにやってくれるので特に気にする必要はないですが、さくらのレンタルサーバに移行する場合は自分でその辺を管理しなければいけません。 幸いさくらのレンタルサーバには Let’s Encrypt のサービスを利用してSSL証明書を簡単に設定できる機能があるため、対応自体は簡単に行えます。 ただし、この設定を行ったところ「リダイレクトが繰り返し行われました」と表示され正常に接続できなくなりました。
原因と解決策#
原因は、CLoudflare側のSSL/TLSの設定が不適切だったためです。
元々の設定では フレキシブル
が選択されており、この設定ではCloudflareとオリジンサーバ(さくらのレンタルサーバ)間の通信はHTTP接続となり暗号化されません。
通常であればこの設定でも問題ないのですが、私の環境では追加でHTTPアクセスをHTTPSにリダイレクする設定を入れていたため、ここでリダイレクトのループが発生していました。
原因が分かってしまえば解決は簡単で、
「CLoudflareのダッシュボード」→「自分のドメイン」→「SSL/TLS」
を開き、以下のように フル
または フル(厳密)
を選択するだけです。