Skip to main content

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

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

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

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

GitHub Pages で、Jekyll ビルドの実行に GitHub Actions が使用されるようになりました。 ビルドのソースとしてブランチを使用する際、組み込みの Jekyll ワークフローを使用する場合は、リポジトリで GitHub Actions を有効にする必要があります。 GitHub Actions が使用できない場合、または無効になっている場合は、ソース ブランチのルートに .nojekyll ファイルを追加すると、Jekyll ビルド プロセスがバイパスされ、コンテンツが直接デプロイされます。 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サイトで使用できるようにするために、所有しているドメインを検証している可能性があります。 この場合、ドメインは、他のユーザーまたは組織が所有する GitHub Pages Web サイトから直ちにリリースされます。 既に検証済みのドメイン (別のユーザーまたは組織によって検証済み) を検証しようとすると、リリース プロセスは正常に実行されません。

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

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

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

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

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。

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