Firebase Hosting を使用すれば、独自のブランド中心のドメイン名をあきらめる必要はありません。 Firebase がホストするサイトでは、Firebase が生成したドメインの代わりに、カスタム ドメイン ( example.com
やapp.example.com
) を使用できます。
Firebase Hosting は、ドメインごとに SSL 証明書をプロビジョニングし、グローバル CDN 経由でコンテンツを提供します。
このドキュメントの残りの部分では、これらの手順を順を追って説明し、カスタム ドメインを接続します。
カスタム ドメインの接続については、次の点に注意してください。各カスタム ドメインは、1 つのホスティング サイトにのみ接続できます。 SSL 証明書の作成制限により、各カスタム ドメインは apex ドメインごとに 20 個のサブドメインに制限されています。 ホスティング用にドメインを設定する Firebase プロジェクトに Firebase Hosting サイトがあるように、プロジェクトのFirebase Hosting ページ から「Get Started」ウィザードを完了していることを確認してください。
ステップ 1 : ドメインを追加するプロジェクトの [ホスティング] ページ から、カスタム ドメインを接続するためのウィザードに入ります。
ホスティング サイトが 1 つしかない場合は、[カスタム ドメインを追加 ] をクリックします。 複数のホスティング サイトが ある場合は、目的のサイトの [表示] をクリックし、[カスタム ドメインの追加 ] をクリックします。ホスティング サイトに接続するカスタム ドメイン名を入力します。
(オプション) ボックスをオンにして、カスタム ドメインのすべてのリクエストを 2 番目に指定されたドメインにリダイレクトします ( example.com
とwww.example.com
が同じコンテンツにリダイレクトされるように)。
[続行] をクリックして、検証プロセスを開始します。
ステップ 2 : ドメインの所有権を確認するConnect Domain セットアップ ウィザードで要求された場合は、apex ドメインを確認します。
これらの手順により、ドメインがまだ Firebase プロジェクトにリンクされておらず、指定されたドメインを所有していることを確認できます。
ドメイン プロバイダーのサイトで、DNS 管理ページを見つけます。
次の入力を使用して、新しいレコードを追加して保存します。
タイプ : TXT レコードを追加します。
Firebase Hosting では、ドメインの所有権を証明し、Firebase がサイトの SSL 証明書を割り当てて更新することを承認するために、この TXT レコードを DNS 設定に継続的に表示する必要があります。
ドメイン プロバイダーは、この用語を「レコード タイプ」としてリストしている場合があります。
ホスト : apex ドメイン キー を入力します。
頂点ドメインまたはルート ドメインの所有権を証明すると、そのすべてのサブドメインの所有権が証明されます。
ドメイン プロバイダーは、この用語を「ホスト名」、「名前」、または「ドメイン」としてリストしている場合があります。
値 : 一意の検証値をフィールドにコピーします。
Firebase Hosting はこの値をチェックして、ドメインの所有権を証明します。
ドメイン プロバイダは、この用語を「データ」と記載している場合があります。
更新された TXT レコードが反映されるまで最大 24 時間待ち、[確認 ] をクリックします。
[キャンセル ] をクリックして、[ドメインの接続 ] ウィンドウを安全に閉じ、後で再度開くことができることに注意してください。これは伝播時間には影響しませんが、ウィンドウを再度開いたときにドメイン名を再入力する よう求められます。
十分な伝播時間が経過したら、Firebase コンソールの [ Connect Domain ] ウィンドウで [ Verify ] をクリックすると、SSL 証明書のプロビジョニング プロセスを開始できます。
ドメイン プロバイダーにもよりますが、ほとんどの場合、レコードの伝播とドメインの検証は数時間以内に行われます。 TXT レコードと伝播時間を追加するための詳細な手順については、ドメイン プロバイダーのドキュメントを参照してください。
[検証 ] をクリックするとエラー メッセージが表示される場合は、レコードが反映されていないか、値が正しくない可能性があります。
注: DNS レコードがG Suite ツールボックスの Dig サービス で正しく更新されているかどうかを確認してください。レコードが更新されている間は、SSL 証明書の伝達またはプロビジョニングにさらに時間がかかる場合があることに注意してください。 ステップ 3 : ライブに移行するFirebase コンソールの [ドメインの接続] ウィンドウで、新しいサイトの [クイック セットアップ ] を選択するか、別のホスティング プロバイダーでサイトを既に実行しており、ゼロ ダウンタイムの移行が必要な場合は[高度 なセットアップ] を選択します。
クイックセットアップ
ドメイン名プロバイダーの DNS 管理サイトに戻り、ページが Firebase Hosting を指す DNS A レコードを作成します。次の入力でレコードを追加して保存します。 タイプ : 2 つの DNS A レコードを追加します。 Host : 両方のレコードのカスタム ドメイン キー を入力します。 指定したホストは、コンテンツを提供するドメインです。このドメインは、頂点ドメインまたはサブドメインにすることができます。 ドメイン プロバイダーは、この用語を「ホスト名」、「名前」、または「ドメイン」としてリストしている場合があります。
値 : 各 DNS A レコードに 1 つの値を割り当てて、ドメインが指定された IP アドレスを指すようにします。 ドメイン プロバイダーは、この用語を「データ」、「ポイント」、「コンテンツ」、「アドレス」、または「IP アドレス」としてリストしている場合があります。 SSL 証明書がプロビジョニングされるまで待ち ます。これには、A レコードを Firebase Hosting に向けてから最大 24 時間かかる場合があります。ほとんどの場合、ドメイン プロバイダーにもよりますが、レコードの伝播と SSL 証明書のプロビジョニングは数時間以内に行われます。 詳細設定
Firebase コンソールの [ Connect Domain ] ウィンドウで、既存のサイトを移行するためのトークンを提供するように要求されます。トークンを提供するには、次のいずれかを完了する必要があります。 DNS TXT レコードの更新 : ドメイン プロバイダの DNS 管理サイトにアクセスします。ドメイン キー と提供された値を含む TXT レコードを追加します。 TXT レコードの伝播には最大 24 時間かかります。 Upload a file to an existing site :指定された URL の既存のサイトにトークンをアップロードし、その存在を確認します。 このページは HTTPS 経由で提供する必要があり、有効または安全である必要はありません。暗号化されたトークンは 1 回のみ有効です。移行が失敗した場合、レコード用に新しいトークンが生成されます。 SSL 証明書がプロビジョニングされるまで待ち ます。これには最大 24 時間かかる場合があります。ドメイン プロバイダーにもよりますが、ほとんどの場合、レコードの伝播と SSL 証明書のプロビジョニングは数時間以内に行われます。 SSL 証明書がプロビジョニングされたら、DNS プロバイダーの DNS 管理サイトに戻り、ページを Firebase Hosting にポイントする DNS A レコードを追加します。次の入力でレコードを追加して保存します。 タイプ : 2 つの DNS A レコードを追加します。 Host : 両方のレコードのカスタム ドメイン キー を入力します。 指定したホストは、コンテンツを提供するドメインです。このドメインは、頂点ドメインまたはサブドメインにすることができます。 ドメイン プロバイダは、この用語を「ホスト名」、「名前」、または「ドメイン」としてリストしている場合があります。
値 : 各 DNS A レコードに 1 つの値を割り当てて、ドメインが指定された IP アドレスを指すようにします。 ドメイン プロバイダーは、この用語を「データ」、「ポイント」、「コンテンツ」、「アドレス」、または「IP アドレス」としてリストしている場合があります。他のプロバイダーを指す A レコードまたは CNAME レコードを必ず削除してください。 AAAA レコードも削除します。これらのレコード タイプのいずれかが存在する場合、Firebase は SSL 証明書をプロビジョニングできません。 SSL 証明書のプロビジョニングを待ちます ドメインの所有権を確認した後、お客様のドメインの SSL 証明書をプロビジョニングし、DNS A レコードを Firebase Hosting にポイントしてから 24 時間以内にグローバル CDN にデプロイします。
ドメインは、FirebaseApp SSL 証明書のサブジェクト代替名 (SAN) の 1 つとしてリストされます。この証明書は、ブラウザのセキュリティ ツールを使用して表示できます。ドメインのプロビジョニング中に、ドメイン名を含まない無効な証明書が表示される場合があります。これはプロセスの通常の部分であり、ドメインの証明書が利用可能になった後に解決されます。
Advanced Setup ユーザーの場合、プロジェクトのFirebase Hosting ページ のセットアップ ステータス がConnected に更新されるまで、ウェブサイトは以前のホスティング プロバイダによってホストされます。
注: Firebase Hosting は、必要に応じてカスタム ドメインの SSL 証明書を自動的に再プロビジョニングします。 カスタム ドメイン キー DNS レコードを追加または編集するとき、さまざまなドメイン プロバイダーは、DNS 管理サイト内のホスト フィールドにさまざまな入力を入力することを期待しています。以下に、一般的なプロバイダーからの一般的な入力をまとめました。詳細な手順については、ドメイン プロバイダーのドキュメントを参照してください。
ドメインの種類 カスタム ドメイン キー 頂点ドメイン 一般的な入力は次のとおりです。
@
apex ドメイン名 ( example .com
) ホスト フィールドを空白のままにするサブドメイン 一般的な入力は次のとおりです。
完全なサブドメイン名 (例: app. example .com
) サブドメイン部分のみ (たとえば、 app
のみ、 . example .com
を除外) www
のサブドメインはwww. example .com
一般的なドメイン プロバイダー 一般的なドメイン プロバイダーと、それぞれに必要な入力の種類を次に示します。この情報は可能な限り最新の状態に保たれますが、詳細な手順についてはドメイン プロバイダーのドキュメントを参照してください。
クラウドフレア タイプ ホスト 価値 DNS TXT レコードの入力 TXT example .com Firebase コンソールで提供される検証値 DNS A レコード入力 あ example .com 199.36.158.100 あ www 199.36.158.100
Google ドメイン タイプ ホスト 価値 DNS TXT レコードの入力 TXT @ Firebase コンソールで提供される検証値 DNS A レコード入力 あ @ 199.36.158.100 あ www 199.36.158.100
Google Cloud DNS タイプ ホスト 価値 DNS TXT レコードの入力 TXT example .com Firebase コンソールで提供される検証値 DNS A レコード入力 あ example .com 199.36.158.100 あ www 199.36.158.100
名前Cheap タイプ ホスト 価値 DNS TXT レコードの入力 TXT @ Firebase コンソールで提供される検証値 DNS A レコード入力 あ @ 199.36.158.100 あ @ 199.36.158.100
スクエアスペース タイプ ホスト 価値 DNS TXT レコードの入力 TXT @ Firebase コンソールで提供される検証値 DNS A レコード入力 あ @ 199.36.158.100 あ www 199.36.158.100
カスタム ドメインのセットアップ ステータスの説明 スターテス 説明 セットアップが必要 DNS レコードの構成を変更する必要がある場合があります。
ほとんどの場合、DNS A レコードはドメイン名プロバイダーから Firebase Hosting サーバーに伝播されていません。 トラブルシューティングのヒント: 24 時間以上経過している場合は、レコードが Firebase Hosting を参照していることを確認してください。
まれに、特に Advanced Setup フローを使用している場合、次の理由で SSL チャレンジが失敗することがあります。
DNS レコードには、他のホスティング プロバイダーを指す A レコードまたは CNAME レコードがあります。 トラブルシューティングのヒント: A レコードが Firebase Hosting のみを指していることを確認し、すべての CNAME レコードを削除します。 移行に失敗し、トークン (サイトに提供された DNS TXT レコードまたはアップロードされたファイル) が無効になりました。 トラブルシューティングのヒント: ドメインの [表示] をクリックし、新しいトークンを既存のドメインに提供します。 保留中 カスタム ドメインを正しく設定しましたが、Firebase Hosting は SSL 証明書をプロビジョニングしていません。
場合によっては、次の問題により、カスタム ドメインの SSL 証明書の作成が停止することがあります。
CAA レコードの制限が厳しすぎます。 トラブルシューティングのヒント: 認証局 `letsencrypt.org` と `pki.goog` がドメインの SSL 証明書の作成を許可されていることを確認してください。 チャレンジ コードが無効です。 高度なセットアップ フローを使用していて、移行が失敗した場合、トークン (およびそのチャレンジ コード) は無効になります。 トラブルシューティングのヒント: ドメインの [表示] をクリックし、新しいトークンを既存のドメインに提供します。 リクエストしたサブドメインが多すぎます。 トラブルシューティングのヒント: 通常、Firebase Hosting では、SSL 証明書の作成制限により、1 つの apex カスタム ドメインで 20 以下のサブドメインを推奨しています。 接続済み カスタム ドメインには適切な DNS レコードがあり、SSL 証明書があります。 サイトのコンテンツを提供できます。
再確認が必要 次のいずれかの状況が発生した場合、Firebase では、ドメインの所有権を手動で再確認する必要がある場合があります。
ドメインの所有権を最初に確認 したときに追加された TXT レコードが変更されたか、ドメインの DNS 設定から削除されました。 1 つのドメインで、google-site-verification トークンを含む複数の TXT レコードが許可されていることに注意してください。 DNS 設定に TXT レコードが継続的に存在する必要があります。これにより、お客様がドメインを所有していることを証明し、お客様のサイトに SSL 証明書を割り当てて更新する権限を当社に与えることができます。 ドメインの所有権を確認した人には、ドメインの所有権を確認するために必要なアクセス許可を含むIAM ロール が割り当てられなくなりました。これらの役割には、所有者、編集者、Firebase 管理者、Firebase 開発管理者が含まれます。 トラブルシューティングのヒント: カスタム ドメインが Firebase Hosting から自動的に切断されないように、プロジェクトのHosting ページ にアクセスして、指定された時間枠 (通常は 30 日) 内に再検証プロセスを完了してください。