Skip to main content

GitHub Pagesのカスタムドメインの検証

ドメインを検証することで、カスタムドメインのセキュリティを高め、乗っ取り攻撃を回避できます。

この機能を使用できるユーザーについて

{data variables.product.prodname_pages %}は、パブリック・リポジトリのGitHub Freeと組織用のGitHub Free、パブリック・リポジトリとプライベート・リポジトリの、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Serverで利用できます。 詳しくは、「GitHub のプラン」をご覧ください。

すべての GitHub Pages ビルドでは、2024 年 6 月 30 日から GitHub Actions が使用されます。 ビルドを続行するには、リポジトリで GitHub Actions を有効にするしかありません。 GitHub Actions の有効化の詳細については、「リポジトリの GitHub Actions の設定を管理する」を参照してください。

GitHub Pagesのドメイン検証について

個人用アカウントでカスタム ドメインが検証されると、個人用アカウントが所有するリポジトリのみから検証済みのカスタム ドメインあるいはそのドメインの直下のサブドメインに GitHub Pages サイトを公開できるようになります。 同様に、Organization のカスタム ドメインが検証されると、その Organization が所有するリポジトリのみから検証済みのカスタム ドメインあるいはそのドメインの直下のサブドメインに GitHub Pages サイトを公開できるようになります。

ドメインを検証すると、他のGitHubユーザがそのカスタムドメインを乗っ取り、そのユーザ自身のGitHub Pagesサイトの公開に使うことを止められます。 ドメインの乗っ取りは、GitHub Pages用にドメインを残したままで検証せず、あなたが自分のリポジトリを削除したとき、支払いプランをダウングレードしたとき、あるいはカスタムドメインのリンクを解除するその他の変更やGitHub Pagesを無効化した後に生じます。

ドメインを検証すると、直接のサブドメインもその検証に含まれます。 たとえば、github.com カスタム ドメインが検証されると、docs.github.comsupport.github.com およびその他の直下のサブドメインも乗っ取りから保護されます。

警告: ワイルドカード DNS レコード (*.example.com など) を使用しないことを強くお勧めします。 このようなレコードを使うと、ドメイン乗っ取りのリスクが直ちに発生します (ドメインの検証を行ったとしても)。 たとえば、example.com を検証すれば a.example.com を使うことはできなくなりますが、依然として (ワイルドカード DNS レコードの対象範囲である) b.a.example.com を乗っ取ることができます。 詳しくは、「GitHub Pagesのカスタムドメインの検証」を参照してください。

組織のドメインを検証することもできます。そうすると、「検証済み」バッジが組織のプロフィールに表示されます。 詳細については、「Organizationのためのドメインの検証あるいは承認」を参照してください。

取得済ドメインの検証

所有するドメイン (別のユーザーまたは組織が現在使用している) を検証して GitHub Pages Web サイトで使用できるようにする場合、ドメインを現在の場所からリリースするプロセスが完了するのに 7 日かかることに注意してください。 既に検証済みのドメイン (別のユーザーまたは組織によって検証済み) を検証しようとすると、リリース プロセスは正常に実行されません。

ユーザサイトのドメインの検証

  1. 任意のページで、右上隅にあるプロファイルの画像をクリックし、次に[設定]をクリックします。

    Screenshot of a user's account menu on GitHub. The menu item "Settings" is outlined in dark orange.

  2. サイドバーの [コード、計画、自動化] セクションで、 [ Pages] をクリックしてください。

  3. 右側の [ドメインの追加] をクリックします。

  4. [追加するドメイン] で、確認するドメインを入力し、 [ドメインの追加] を選びます。

    GitHub Pages で、確認済みドメインを追加するテキストボックスに「example.com」と入力されたスクリーンショット。 テキストの下には、[ドメインの追加] というラベルの付いた緑色のボタンがあります。

  5. [DNS TXT レコードを追加する] の手順に従って、ドメイン ホスティング サービスで TXT レコードを作成します。

    example.com の DNS 構成に TXT レコードを追加する手順を示す、GitHub Pages のスクリーンショット。

  6. DNS設定が変更されるまで待ちます。これはすぐに行われることも、最大で24時間かかることもあります。 DNS 設定への変更は、コマンドラインで dig コマンドを実行して確認できます。 次のコマンドで、USERNAME をユーザー名、example.com を検証しているドメインに置き換えます。 DNS設定が更新されていれば、出力中に新しいTXTレコードが表示されます。

    dig _github-pages-challenge-USERNAME.example.com +nostats +nocomments +nocmd TXT
    
  7. DNS 構成が更新されたことを確認したら、ドメインを確認できます。 変更がすぐに行われず、前のページから移動した場合は、最初のいくつかの手順に従ってページ設定に戻り、ドメインの右側にある [] をクリックし、 [確認を続行] をクリックします。

    確認済みのドメインを示す GitHub Pages 設定のスクリーンショット。 右側の水平ケバブ アイコンの下には、[確認を続行] ドロップダウン オプションが濃いオレンジ色の枠線で囲まれています。

  8. 自分のドメインを確認するには、 [確認] をクリックします。

  9. カスタム ドメインが確認されたままになるようにするには、ドメインの DNS 構成で TXT レコードを保持します。

組織のサイトのドメインの検証

組織オーナーは、自分の組織のカスタムドメインを検証できます。

  1. GitHub.com の右上隅にあるプロファイル写真を選択し、次に自分の組織をクリックします。

    @octocat のプロファイル写真の下にあるドロップダウン メニューのスクリーンショット。 [Your organizations] (自分の組織) が濃いオレンジ色の枠線で囲まれています。

  2. 組織の隣の [設定] をクリックします。

  3. サイドバーの [コード、計画、自動化] セクションで、 [ Pages] をクリックしてください。

  4. 右側の [ドメインの追加] をクリックします。

  5. [追加するドメイン] で、確認するドメインを入力し、 [ドメインの追加] を選びます。

    GitHub Pages で、確認済みドメインを追加するテキストボックスに「example.com」と入力されたスクリーンショット。 テキストの下には、[ドメインの追加] というラベルの付いた緑色のボタンがあります。

  6. [DNS TXT レコードを追加する] の手順に従って、ドメイン ホスティング サービスで TXT レコードを作成します。

    example.com の DNS 構成に TXT レコードを追加する手順を示す、GitHub Pages のスクリーンショット。

  7. DNS 構成が変わるまで待ちます。 即時または最大 24 時間かかる場合があります。 DNS 設定への変更は、コマンドラインで dig コマンドを実行して確認できます。 次のコマンドで、ORGANIZATION を 組織名、example.com を検証しているドメインに置き換えます。 DNS設定が更新されていれば、出力中に新しいTXTレコードが表示されます。

    dig _github-pages-challenge-ORGANIZATION.example.com +nostats +nocomments +nocmd TXT
    
  8. DNS 構成が更新されたことを確認したら、ドメインを確認できます。 変更がすぐに行われず、前のページから移動した場合は、最初のいくつかの手順に従ってページ設定に戻り、ドメインの右側にある [] をクリックし、 [確認を続行] をクリックします。

    確認済みのドメインを示す GitHub Pages 設定のスクリーンショット。 右側の水平ケバブ アイコンの下には、[確認を続行] ドロップダウン オプションが濃いオレンジ色の枠線で囲まれています。

  9. 自分のドメインを確認するには、 [確認] をクリックします。

  10. カスタム ドメインが確認されたままになるようにするには、ドメインの DNS 構成で TXT レコードを保持します。