コンソールへ移動

カスタム ドメインを接続する

Firebase Hosting では、ブランドを象徴する独自のドメイン名の使用をあきらめる必要はありません。Firebase で生成されたドメインの代わりに、yourdomain.comapp.yourdomain.com といったカスタム ドメインを Firebase Hosting サイトに接続できます。

Firebase Hosting は、ドメインの SSL 証明書をプロビジョニングし、グローバル CDN 経由でコンテンツを提供します。

SSL 証明書の作成制限により、Firebase Hosting では一般に、1 つの Apex カスタム ドメインあたりのサブドメイン数を 20 以下にすることが推奨されます。

ホスティング用にドメインを設定する

プロジェクトの [Firebase Hosting] ページで [使ってみる] ウィザードが完了していて、Firebase プロジェクト内に Firebase Hosting サイトがあることを確認します。

ステップ 1: ドメインを追加する

  1. プロジェクトの [Hosting] ページで、カスタム ドメインを接続するためのウィザードを開始します。

    • Hosting サイトが 1 つしかない場合は、[ドメインを接続] をクリックします。
    • 複数の Hosting サイトがある場合は、目的のサイトの [表示] をクリックしてから、[ドメインを接続] をクリックします。
  2. Hosting サイトに接続するカスタム ドメイン名を入力します。

  3. (省略可)カスタム ドメインのすべてのリクエストを 2 番目に指定されたドメインにリダイレクトするチェックボックスをオンにします(yourdomain.comwww.yourdomain.com を同じコンテンツにリダイレクトします)。

  4. [続行] をクリックして検証プロセスを開始します。

ステップ 2: ドメインの所有権を確認する

[ドメインを接続] 設定ウィザードで要求された場合は、apex ドメインを確認します。

以下の手順により、ドメインが Firebase プロジェクトにリンクされていないことと、指定したドメインを自分が所有していることを確認できます。

  1. ドメイン プロバイダのサイトで、DNS 管理ページを探します。次のように入力して、新しいレコードを追加して保存します。

    • タイプ: TXT レコードを追加します。

      ドメインの所有者であることを証明し、サイトの SSL 証明書の割り当てと更新を Google が行うことを承認するために、この TXT レコードは常に DNS 設定にしておく必要があります。

      ドメイン プロバイダによっては、「レコードタイプ」といった用語を使用している場合があります。

    • ホスト: Apex ドメインキーを入力します。

      Apex ドメインまたはルートドメインの所有者であることと、そのすべてのサブドメインの所有権があることを証明します。

      ドメイン プロバイダによっては、「ホスト名」、「名前」、「ドメイン」といった用語を使用している場合があります。

    • : 一意の検証値をフィールドにコピーします。Firebase Hosting はこの値をチェックして、ドメインの所有権であることを証明します。

      ドメイン プロバイダによっては、「データ」といった用語を使用している場合があります。

  2. 更新された TXT レコードが伝播されるまで最大で 24 時間かかります。

    [確認] をクリックしてエラー メッセージが表示される場合は、レコードが完全に伝播されていないか、値が正しくありません。

    [キャンセル] をクリックして [ドメインを接続] ウィンドウを安全に閉じ、後で再度開くことができます。この操作はレコードの伝播時間に影響しませんが、ウィンドウを再度開くときにドメイン名の再入力が要求されます。

    伝播後に Firebase コンソールの [ドメインを接続] ウィンドウで [確認] をクリックして、SSL 証明書のプロビジョニング プロセスを開始できます。

    ほとんどの場合、レコードの伝播とドメインの検証は数時間以内に行われます(ドメイン プロバイダによって異なります)。TXT レコードを追加するための詳細な手順と伝播時間については、ドメイン プロバイダのドキュメントをご覧ください。

ステップ 3: 運用を開始する

Firebase コンソールの [ドメインを接続] ウィンドウで、新しいサイトの [クイック セットアップ] を選択します。すでに別のホスティング プロバイダで稼働しているサイトがあり、ゼロ ダウンタイム移行が必要な場合は、[詳細設定] を選択します。

SSL 証明書のプロビジョニングを待機する

ドメイン所有権の確認が済むと、ドメインの SSL 証明書がプロビジョニングされ、DNS A レコードが Firebase Hosting を指すようになってから 24 時間以内に、グローバル CDN にデプロイされます。

ドメインは、FirebaseApp SSL 証明書にサブジェクト代替名(SAN)の 1 つとして表示されます。この証明書はブラウザのセキュリティ ツールを使って表示できます。ドメインのプロビジョニング中は、ドメイン名が記載されていない無効な証明書が表示されることがあります。これは、通常プロセスの一部であり、ドメインの証明書が入手可能になると解決します。

詳細設定の場合、プロジェクトの Firebase Hosting ページ設定ステータスが [接続済み] に更新されるまで、ウェブサイトは以前のホスティング プロバイダでホストされます。

カスタム ドメインキー

DNS レコードの追加または編集時に DNS 管理サイト内の [ホスト] フィールドに入力する値は、ドメイン プロバイダごとに異なります。以下に、よく利用されるプロバイダの一般的な入力情報をまとめました。詳細な手順については、ドメイン プロバイダのドキュメントをご覧ください。

ドメイン タイプ カスタム ドメインキー
Apex ドメイン

一般的な入力情報:

  • @

  • apex ドメイン名(yourdomain.com

  • [ホスト] フィールドは空白のままにする

サブドメイン

一般的な入力情報:

  • サブドメイン名(app.yourdomain.com
  • サブドメイン部分のみ(app.yourdomain.com は除外)
    • 一般的なユースケースとして、サブドメイン www.yourdomain.com のキーとして www を入力する場合があります。

カスタム ドメインのステータスの説明の設定

ステータス 説明
設定が必要です

DNS レコードを使った構成の変更が必要な場合があります。

  • ほとんどの場合、DNS A レコードはドメイン名プロバイダから Firebase Hosting サーバーに伝播されていません。
    トラブルシューティングのヒント: 24 時間以上経過している場合は、レコードが Firebase Hosting を指していることを確認してください。

  • ごくまれに、特に詳細設定のフローを使用している場合は、以下の理由で SSL チャレンジが失敗する可能性があります。

    • DNS レコードに、他のホスティング プロバイダを指す A レコードまたは CNAME レコードがあります。
      トラブルシューティングのヒント: A レコードが Firebase Hosting のみを指していることを確認し、すべての CNAME レコードを削除します。
    • 移行が失敗し、トークン(サイトに提供された DNS TXT レコードまたはアップロードされたファイル)が無効になりました。
      トラブルシューティングのヒント: ドメインの [表示] をクリックしてから、既存のドメインに新しいトークンを入力します。
保留中

カスタム ドメインを正しく設定しましたが、Firebase Hosting は SSL 証明書をプロビジョニングしていません。

たまに次の問題によって、カスタム ドメインの SSL 証明書の作成が滞ることがあります。

  • CAA レコードの制限が厳しすぎます。
    トラブルシューティングのヒント: 認証局の Let's Encrypt でドメイン用の SSL 証明書を作成できることを確認してください。
  • チャレンジ コードが無効です。
    詳細設定のフローを使用していて、移行に失敗した場合、トークン(およびそのチャレンジ コード)は無効になります。
    トラブルシューティングのヒント: ドメインの [表示] をクリックしてから、既存のドメインに新しいトークンを入力します。
  • リクエストした証明書のサブドメイン数が多すぎます。
    トラブルシューティングのヒント: SSL 証明書の作成制限により、Firebase Hosting では一般に、1 つの Apex カスタム ドメインあたりのサブドメイン数を 20 以下にすることが推奨されます。
接続されています

カスタム ドメインには適切な DNS レコードがあり、SSL 証明書があります。
自分のサイトのコンテンツを提供できます。

再確認が必要です

Firebase では、次の 2 つの状況が発生した場合、初期設定ステージ後にドメインの所有権を手動で再確認する必要があります。

  • ステップ 2 の TXT レコードが変更されたか、ドメインの DNS 設定から削除された場合。
    • google-site-verification トークンを使用する複数の TXT レコードが 1 つのドメインで許可されることに注意してください。
    • TXT レコードはドメインの所有者であることを証明し、サイトの SSL 証明書の割り当てと更新を Google が行うことを承認するものであるため、常に DNS 設定に保持しておく必要があります。
  • ドメインの所有者であることを証明したユーザーがプロジェクトから削除された場合。
トラブルシューティングのヒント: プロジェクトの Hosting ページにアクセスし、指定された期間内(通常 30 日間)に再確認の手続きを完了して、Hosting Console からドメインが自動的に削除されないようにします。