すでにご存知かもしれませんが、KinstaはCloudflareと統合し、コンテンツデリバリネットワーク(CDN)をすべてのお客様に提供しています。この統合はシームレスではありますが、CloudflareとKinstaが別のプラットフォームであることから、CDNの使用時に時折エラーが発生することがあります。特に一般的に見られるのは、1014エラー「CNAME Cross-User Banned(CNAME 複数ユーザー禁止)」です。
1014エラーは、Cloudflareアカウントに関連するCNAMEレコードに何かしらの問題があることを意味します。Cloudflareのドメイン設定を確認することで簡単に解決でき、修正後は、通常通りサイトにアクセスすることができます。
この記事では、1014エラーの概要とその原因についてご説明します。その後、Cloudflareアカウントでこのエラーを解決する方法を見ていきます。では、早速始めましょう。
1014エラー「CNAME Cross-User Banned」とは
CNAME(Canonical Name)レコードは、Aレコードの代替になるもので、他のドメインエイリアスやサブドメインに使用可能です。
例えば、「store.mywebsite.com」というサイトを運営していれば、「mywebsite.com」を指すCNAMEレコードを持つことができます。
訪問者がCNAMEレコードを持つドメインにアクセスすると、ドメインネームサーバー(DNS)ルックアップは、親ドメインのレコードを参照するようになります。上の例の場合、DNSの検索は、そのAレコードを介して「mywebsite.com」のIPアドレスを返します。
1014エラー「CNAME Cross-User Banned」は、Cloudflare特有のものであり、複数のCloudflareアカウントのドメイン間で、CNAMEレコードの設定に誤りがある場合に生じます。では、この誤った設定について詳しく見ていきましょう。
1014エラー「CNAME Cross-User Banned」の原因
Cloudflareでは、必要な数だけドメインにCDNを設定することができます(プランによって異なる)。これを行うには、ドメインのネームサーバーを変更してCloudflareに紐付け、CDNがサイトへのアクセスを管理できるようにします。
このエラーは、Cloudflareを使用している2つのドメインがあり、1つのドメインがもう一方のドメインと紐付いているCNAMEレコードを持っていると発生します。
例えば、「store.mywebsite.com」をCloudflareに登録しているとします。このサブドメインには「mywebsite.com」を指定するCNAMEレコードがありますが、別のCloudflareアカウントと連動しています。
セキュリティ上の理由から、Cloudflareではこのような設定はブロックされてしまいます。解決するには、CDNのCNAMEレコードを修正しなければなりません。
または、Cloudflareに問い合わせ、CNAMEレコードをもう一方のドメインに紐付ける権限を持つ旨を伝えて、このブロックを解除してもらうという手もあります。この詳しい方法については、次のセクションでご説明していきます。
1014エラー「CNAME Cross-User Banned」の解決方法(3つの手法)
この解決方法は、状況に応じていくつか考えられます。まずは、Cloudflareのサポートを利用する方法から見ていきましょう。
方法1. Cloudflareのカスタマーサポートに問い合わせる
Cloudflareでは、他のドメインにCNAMEレコードを紐付けることが許可されていませんが、例外も認められています。別のCloudflareアカウントにあるドメインにCNAMEを紐付ける場合は、自分がそのアカウントの所有者であれば、カスタマーサポートに問い合わせて、この制限を解除するように依頼することができます。
尚、この方法は、Pro、Business 、Enterpriseプランのみで有効です。対象ドメインの所有者がCloudflareのこのいずれかのプランを利用しているのが条件となります。
方法2. CNAMEレコードを持つドメインでCloudflareを無効化する
CNAMEレコードが紐付いているドメインのアカウントを所有していない場合には、問題の原因となっているドメインのCloudflareを無効にするのも手です。
Cloudflareを停止すれば、CDNを使用するメリットはありません。これによって、少なくとも代替手段を検討している間は、1014エラーの表示を回避することができます。
Cloudflareからドメインを削除するには、管理画面にログインして「Website」に移動します。このタブには、Cloudflareに接続されているドメインが一覧表示されます。
該当のドメインを選択し、その設定の下にある「詳細アクション」セクションの「このサイトでCloudflareを一時停止する」を選択します。
Kinstaのお客様であれば、MyKinstaでサイトのCDN統合を無効にすることができます。MyKinstaにログイン後、「サイト」をクリックし、該当のサイトに移動したら、「CDN」タブを開きます。
一番上にある「CDN」セクションの「無効化する」をクリックすればOKです。
KinstaのCloudflare統合は、新規作成されたすべてのサイトにデフォルトで有効になっています。サイトを立ち上げてから、すぐに1014エラーが発生するようであれば、ドメインがすでに別のCloudflareアカウントに紐付いている可能性があります。
方法3. CNAMEレコードをAレコードに変更する
お使いのドメインレジストラによっては、ドメインのDNS設定は比較的容易に更新することができます。
例えば、Namecheapを使用している場合、所有するドメインの「Advanced DNS」の設定画面からCNAMEレコードの更新または削除が行えます。
1014エラーの原因は、CNAMEレコードにあります。したがって、1番簡単な解決策は、CNAMEレコードを削除して、Aレコードに置き換えること。
これは、CNAMEレコードと同じサーバーを指定したAレコードを作成します。ほとんどのレジストラでは、対象サーバーのIPアドレス(IPv4またはIPv6のいずれか)を貼り付け、指定するサーバーを選ぶ程度で済みます。
CNAMEレコードを使ってサブドメインを対象のドメインに紐付ける場合、Aレコードの「Host」部分にサブドメイン名を入力します(上記で挙げた例の場合はstoreに当たる値)。
Aレコードを設定すると、CNAMEと同じように動作するはずです。ただし、Aレコードの場合は、DNSルックアップ数が増えるため、読み込み時間が少し長くなる可能性があります。
ドメインのDNS設定に加えた変更は、反映されるまでに時間がかかることがあります。したがって、Aレコードに変更後も、ある程度の間は1014エラーが表示される可能性があります。
まとめ
Cloudflareを使用している場合、ドメインのDNS設定によっては、1014エラーが発生することがあります。別のCloudflareアカウントで運営されてるセカンドドメインと紐付いているCNAMEレコードを設定してしまうと、Cloudflareのセキュリティポリシーによって、このエラーが表示されます。
これは致命的なエラーではないものの、サイトへの訪問者のアクセスをブロックしてしまう恐れがあります。解決するには、まずCloudflareのカスタマーサポートに問い合わせて、この制限を解除するよう依頼してください。そうでなければ、CNAMEレコードを持つドメインのCloudflareを停止しましょう。あるいは、エントリーをAレコードに変更するのも有効です。
Kinstaでは、すべてのお客様に追加費用なしで高性能CDNをご利用いただけます。無料のCloudflare統合によって、世界中の275以上のPoPからコンテンツが自動配信されます。
さらに、Kinstaのホスティングプランには、エッジキャッシング、無料のサイト移行、サイトのパフォーマンスを監視するAPMなど様々な機能が付帯します。詳しいプランの内容についてはこちらをご覧ください。