GitHub Pages サイトのカスタムドメインを管理する

特定の DNS レコードとリポジトリ設定を設定または更新し、GitHub Pages サイトのデフォルトドメインをカスタムドメインに指定することができます。

GitHub Pagesは、GitHub Free及びOrganizationのGitHub Freeのパブリックリポジトリ、GitHub Pro、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Serverのパブリック及びプライベートリポジトリで利用できます。 詳しい情報については「GitHubの製品」を参照してください。

リポジトリの管理者権限があるユーザは、GitHub Pages サイトのカスタムドメインを設定できます。

カスタムドメインの設定について

DNS プロバイダでカスタムドメインを設定する前に、必ず GitHub Pages サイトをカスタムドメインに追加してください。 カスタムドメインを GitHub に追加せずに DNS プロバイダに設定すると、別のユーザがあなたのサブドメインにサイトをホストできることになります。

DNS レコードの設定が正しいかどうかを検証するために利用できるdig コマンドは、Windows には含まれていません。 DNS レコードが正しく設定されているかを検証する前に、BIND をインストールする必要があります。

注釈: DNS の変更が伝播するには、最大 24 時間かかります。

サブドメインを設定する

www または www.example.comblog.example.com などのカスタムサブドメインを設定するには、リポジトリ設定にドメインを追加する必要があります。これにより、サイトのリポジトリに CNAME ファイルが作成されます。 その後、DNS プロバイダで CNAME レコードを設定します。

  1. GitHubで、サイトのリポジトリにアクセスしてください。

  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン

  3. 左のサイドバーでPages(ページ)をクリックしてください。 左のサイドバーのPageタブ

  4. "Custom domain(カスタムドメイン)" の下で、カスタムドメインを入力してSave(保存)をクリックします。 これでCNAMEファイルを公開ソースのルートに追加するコミットが作成されます。 カスタムドメインの保存ボタン

  5. お使いの DNS プロバイダにアクセスし、サブドメインがサイトのデフォルトドメインを指す CNAME レコードを作成します。 たとえば、サイトで www.example.com というサブドメインを使いたい場合、www.example.com<user>.github.io を指すCNAME レコードを作成します。 Organization サイトで www.anotherexample.com というサブドメインを使用する場合、www.anotherexample.com<organization>.github.io を指すCNAME レコードを作成します。 CNAME レコードは、リポジトリ名を除いて、常に<user>.github.io または <organization>.github.io を指している必要があります。 正しいレコードの作成方法に関する詳しい情報については、DNSプロバイダのドキュメンテーションを参照してください。 サイトのデフォルトドメインに関する詳しい情報については「GitHub Pagesについて」を参照してください。

    警告: *.example.com など、ワイルドカード DNS レコードは使わないでください。 ワイルドカード DNS レコードにより、あなたのサブドメインの 1 つで GitHub Pagesサイトを誰でもホストできるようになります。

  6. ターミナルターミナルGit Bashを開いてください。

  7. DNS レコードが正しくセットアップされたことを確認するには、 dig コマンドを使います。WWW.EXAMPLE.COM は、お使いのサブドメインに置き換えてください。

    $ dig WWW.EXAMPLE.COM +nostats +nocomments +nocmd
        > ;WWW.EXAMPLE.COM.                     IN      A
        > WWW.EXAMPLE.COM.              3592    IN      CNAME   YOUR-USERNAME.github.io.
        > YOUR-USERNAME.github.io.      43192   IN      CNAME    GITHUB-PAGES-SERVER .
        >  GITHUB-PAGES-SERVER .         22      IN      A       192.0.2.1
  8. 静的サイトジェネレータを使ってローカルでサイトを構築し、生成されたファイルをGitHubにプッシュしているなら、ローカルのリポジトリにCNAMEファイルを追加したコミットをプルしてください。 詳しい情報については「カスタムドメインとGitHub Pagesのトラブルシューティング」を参照してください。

  9. あるいは、サイトに対してHTTPS暗号化を強制したい場合は、Enforce HTTPS(HTTPSを強制)を選択してください。 このオプションが利用できるようになるには、最大で24時間かかります。 詳しい情報についてはHTTPSでGitHub Pagesサイトをセキュアにするを参照してください。 カスタムドメインのHTTPS強制オプション

Apexドメインを設定する

example.com などの Apex ドメインを設定するには、GitHub Pages リポジトリに CNAME ファイルを設定し、DNS プロバイダで少なくとも 1 つの ALIASANAME、または A レコードを設定する必要があります。

カスタムドメインとして Apex ドメインを使用している場合は、www サブドメインもセットアップすることをおすすめします。 DNSプロバイダを通じて各ドメインの種類のための正しいレコードを設定しているなら、GitHub Pagesは自動的にドメイン間のリダイレクトを生成します。 たとえば、サイトにwww.example.comをカスタムドメインとして設定し、GitHub PagesのDNSレコードをapex及びwwwドメインに対してセットアップしているなら、example.comwww.example.comにリダイレクトされます。 自動のリダイレクトは、wwwサブドメインにのみ適用されることに注意してください。 自動リダイレクトは、blogといったようなその他のサブドメインには適用されません。 詳しい情報については、「サブドメインを設定する」を参照してください。

  1. GitHubで、サイトのリポジトリにアクセスしてください。

  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン

  3. 左のサイドバーでPages(ページ)をクリックしてください。 左のサイドバーのPageタブ

  4. "Custom domain(カスタムドメイン)" の下で、カスタムドメインを入力してSave(保存)をクリックします。 これでCNAMEファイルを公開ソースのルートに追加するコミットが作成されます。 カスタムドメインの保存ボタン

  5. DNS プロバイダに移動し、ALIASANAME、または A レコードを作成します。 You can also create AAAA records for IPv6 support. 正しいレコードの作成方法に関する詳しい情報については、DNSプロバイダのドキュメンテーションを参照してください。

    • ALIASまたはANAMEレコードを作成するには、Apexドメインをサイトのデフォルトドメインにポイントします。 サイトのデフォルトドメインに関する詳しい情報については「GitHub Pagesについて」を参照してください。
    • A レコードを作成するには、Apex ドメインが GitHub Pages の IP アドレスを指すようにします。
      185.199.108.153
      185.199.109.153
      185.199.110.153
      185.199.111.153
    • To create AAAA records, point your apex domain to the IP addresses for GitHub Pages.
      2606:50c0:8000::153
      2606:50c0:8001::153
      2606:50c0:8002::153
      2606:50c0:8003::153

    警告: *.example.com など、ワイルドカード DNS レコードは使わないでください。 ワイルドカード DNS レコードにより、あなたのサブドメインの 1 つで GitHub Pagesサイトを誰でもホストできるようになります。

  6. ターミナルターミナルGit Bashを開いてください。

  7. DNS レコードが正しく設定されたことを確認するには、 dig コマンドを使います。EXAMPLE.COM は、お使いの Apex ドメインに置き換えてください。 結果が、上記の GitHub Pages の IP アドレスに一致することを確認します。

    • For A records.
      $ dig EXAMPLE.COM +noall +answer -t A
      > EXAMPLE.COM     3600    IN A     185.199.108.153
      > EXAMPLE.COM     3600    IN A     185.199.109.153
      > EXAMPLE.COM     3600    IN A     185.199.110.153
      > EXAMPLE.COM     3600    IN A     185.199.111.153
    • For AAAA records.
      $ dig EXAMPLE.COM +noall +answer -t AAAA
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8000::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8001::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8002::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8003::153
  8. 静的サイトジェネレータを使ってローカルでサイトを構築し、生成されたファイルをGitHubにプッシュしているなら、ローカルのリポジトリにCNAMEファイルを追加したコミットをプルしてください。 詳しい情報については「カスタムドメインとGitHub Pagesのトラブルシューティング」を参照してください。

  9. あるいは、サイトに対してHTTPS暗号化を強制したい場合は、Enforce HTTPS(HTTPSを強制)を選択してください。 このオプションが利用できるようになるには、最大で24時間かかります。 詳しい情報についてはHTTPSでGitHub Pagesサイトをセキュアにするを参照してください。 カスタムドメインのHTTPS強制オプション

Apexドメインとwwwサブドメイン付きのドメインの設定

Apexドメインを使う場合、コンテンツをApexドメインとwwwサブドメイン付きのドメインの双方でホストするようGitHub Pagesサイトを設定することをおすすめします。

Apexドメインと共にwwwサブドメインをセットアップするには、まずApexドメインを設定しします。そうすると、DNSプロバイダでALIASANAMEAのいずれかのレコードが作成されます。 詳しい情報については「Apexドメインの設定」を参照してください。

Apexドメインを設定したら、DNSプロバイダでCNAMEレコードを設定しなければなりません。

  1. DNSプロバイダにアクセスして、www.example.comがサイトのデフォルトドメインの<user>.github.ioもしくは<organization>.github.ioを指すようにするCNAMEレコードを作成してください。 リポジトリ名は含めないでください。 正しいレコードの作成方法に関する詳しい情報については、DNSプロバイダのドキュメンテーションを参照してください。 サイトのデフォルトドメインに関する詳しい情報については「GitHub Pagesについて」を参照してください。
  2. DNS レコードが正しくセットアップされたことを確認するには、 dig コマンドを使います。WWW.EXAMPLE.COM は、wwwサブドメイン付きのドメインに置き換えてください。
    $ dig WWW.EXAMPLE.COM +nostats +nocomments +nocmd
        > ;WWW.EXAMPLE.COM.                     IN      A
        > WWW.EXAMPLE.COM.              3592    IN      CNAME   YOUR-USERNAME.github.io.
        > YOUR-USERNAME.github.io.      43192   IN      CNAME    GITHUB-PAGES-SERVER .
        >  GITHUB-PAGES-SERVER .         22      IN      A       192.0.2.1

カスタムドメインの削除

  1. GitHubで、サイトのリポジトリにアクセスしてください。

  2. リポジトリ名の下で Settings(設定)をクリックしてください。 リポジトリの設定ボタン

  3. 左のサイドバーでPages(ページ)をクリックしてください。 左のサイドバーのPageタブ

  4. "Custom domain(カスタムドメイン)"の下で、Remove(削除)をクリックしてください。 カスタムドメインの保存ボタン

参考リンク

このドキュメントは役立ちましたか?

プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?