Vercel+Cloudflareでカスタムドメイン設定したWebサイトがリダイレクトエラーが発生しました。
クッキー削除などでは解消されず...という感じでした。
先に解決できた方法から紹介してきます。結構手こずりました...
SSL/TLS暗号化モードをフルに設定することで解消
Cloudflareの公式に書いてありました。
Cloudflareでドメインを設定すると、SSL/TLS 暗号化モード
がデフォルトでフレキシブルになってますが、フルにすることで僕の場合は解消しました。
SSL/TLS アプリ「概要」タブで、CloudflareSSLオプションを更新します。
SSL/TLSのタブで設定します。
Vercel側でSSL証明書がある模様でリダイレクトが発生していたのかな。
現在Flexibleに設定されている場合、オリジンWebサーバーに設定済みのSSL証明書がある場合、Fullに更新します。
補足: HTTPSへのリダイレクト設定は関係なかった
こちらもCloudflareのドキュメントに書いてありましたが、HTTP/HTTPSのリダイレクトに関しては特に設定を変えても関係なかったです。
- (推奨) HTTPSからHTTPへのリダイレクトと、HTTPからHTTPSへのリダイレクトをオリジンWebサーバー設定から削除します。例:
この辺の設定は推奨設定で問題なかったです。
よもやま
細かく言うと今回はお名前.comで取得したドメインをCloudflareで管理しています。
お名前.com ----ネームサーバー移管---> Cloudflare ---DNS設定---> Vercel
ちなみに、Cloudflare+Netlifyで全く同じ設定をした場合は発生してなく、Cloudflare+Vercelの組み合わせで発生しました。
Netlifyだとcnameでaliasを推奨みたいな表記があるのですが、VercelはAレコードにIPアドレスを設定するやり方を推奨してる模様です。
最初Vercel側の設定なのかと思ったのですがCloudflare側の問題だったということが分かるまでけっこう大変でした..
リダイレクトループのチェッカーなどもあるみたいですね