Skip to main content

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

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

GitHub Pagesは、GitHub Free及びOrganizationのGitHub Freeのパブリックリポジトリ、GitHub Pro、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Serverのパブリック及びプライベートリポジトリで利用できます。 詳しくは、「GitHub のプラン」をご覧ください。

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

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

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

    GitHub のアカウント メニューのスクリーンショット。ユーザーがプロファイル、コンテンツ、設定を表示および編集するためのオプションが表示されています。 メニュー項目 [設定] が濃いオレンジ色の枠線で囲まれています。

  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 レコードを保持します。

Organizationのサイトのドメインの検証

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

  1. GitHub.com の右上隅にあるプロファイル写真をクリックし、 [自分の Organization] をクリックします。

    @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 を Organization 名、example.com を検証しているドメインに置き換えます。 DNS設定が更新されていれば、出力中に新しいTXTレコードが表示されます。

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

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

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

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