リポジトリの管理者権限があるユーザは、GitHub Pages サイトのカスタムドメインを設定できます。
カスタムドメインの設定について
DNS プロバイダでカスタムドメインを設定する前に、必ず GitHub Pages サイトをカスタムドメインに追加してください。 カスタムドメインを GitHub Enterprise Cloud に追加せずに DNS プロバイダに設定すると、別のユーザがあなたのサブドメインにサイトをホストできることになります。
DNS レコードの設定が正しいかどうかを検証するために利用できるdig
コマンドは、Windows には含まれていません。 DNS レコードが正しく設定されているかを検証する前に、BIND をインストールする必要があります。
注釈: DNS の変更が伝播するには、最大 24 時間かかります。
サブドメインを設定する
www
または www.example.com
や blog.example.com
などのカスタムサブドメインを設定するには、リポジトリ設定にドメインを追加する必要があります。これにより、サイトのリポジトリに CNAME ファイルが作成されます。 その後、DNS プロバイダで CNAME レコードを設定します。
-
GitHub Enterprise Cloudで、サイトのリポジトリにアクセスしてください。
-
リポジトリ名の下で Settings(設定)をクリックしてください。
-
In the "Code and automation" section of the sidebar, click Pages.
-
"Custom domain(カスタムドメイン)" の下で、カスタムドメインを入力してSave(保存)をクリックします。 これでCNAMEファイルを公開ソースのルートに追加するコミットが作成されます。
-
お使いの 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サイトを誰でもホストできるようになります。 -
ターミナルターミナルGit Bashを開いてください。
-
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
-
静的サイトジェネレータを使ってローカルでサイトを構築し、生成されたファイルをGitHub Enterprise Cloudにプッシュしているなら、ローカルのリポジトリにCNAMEファイルを追加したコミットをプルしてください。 詳しい情報については「カスタムドメインとGitHub Pagesのトラブルシューティング」を参照してください。
-
あるいは、サイトに対してHTTPS暗号化を強制したい場合は、Enforce HTTPS(HTTPSを強制)を選択してください。 このオプションが利用できるようになるには、最大で24時間かかります。 詳しい情報についてはHTTPSでGitHub Pagesサイトをセキュアにするを参照してください。
Apexドメインを設定する
example.com
などの Apex ドメインを設定するには、GitHub Pages リポジトリに CNAME ファイルを設定し、DNS プロバイダで少なくとも 1 つの ALIAS
、ANAME
、または A
レコードを設定する必要があります。
カスタムドメインとして Apex ドメインを使用している場合は、www
サブドメインもセットアップすることをおすすめします。 DNSプロバイダを通じて各ドメインの種類のための正しいレコードを設定しているなら、GitHub Pagesは自動的にドメイン間のリダイレクトを生成します。 たとえば、サイトにwww.example.com
をカスタムドメインとして設定し、GitHub PagesのDNSレコードをapex及びwww
ドメインに対してセットアップしているなら、example.com
はwww.example.com
にリダイレクトされます。 自動のリダイレクトは、www
サブドメインにのみ適用されることに注意してください。 自動リダイレクトは、blog
といったようなその他のサブドメインには適用されません。 詳しい情報については、「サブドメインを設定する」を参照してください。
-
GitHub Enterprise Cloudで、サイトのリポジトリにアクセスしてください。
-
リポジトリ名の下で Settings(設定)をクリックしてください。
-
In the "Code and automation" section of the sidebar, click Pages.
-
"Custom domain(カスタムドメイン)" の下で、カスタムドメインを入力してSave(保存)をクリックします。 これでCNAMEファイルを公開ソースのルートに追加するコミットが作成されます。
-
DNS プロバイダに移動し、
ALIAS
、ANAME
、またはA
レコードを作成します。 IPv6サポートのためにAAAA
レコードを作成することもできます。 正しいレコードの作成方法に関する詳しい情報については、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
AAAA
レコードを作成するには、Apex ドメインが GitHub Pages の IP アドレスを指すようにします。2606:50c0:8000::153 2606:50c0:8001::153 2606:50c0:8002::153 2606:50c0:8003::153
警告:
*.example.com
など、ワイルドカード DNS レコードは使わないでください。 ワイルドカード DNS レコードにより、あなたのサブドメインの 1 つで GitHub Pagesサイトを誰でもホストできるようになります。 -
ターミナルターミナルGit Bashを開いてください。
-
DNS レコードが正しく設定されたことを確認するには、
dig
コマンドを使います。EXAMPLE.COM は、お使いの Apex ドメインに置き換えてください。 結果が、上記の GitHub Pages の IP アドレスに一致することを確認します。A
レコードの場合。$ 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
AAAA
レコードの場合。$ 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
-
静的サイトジェネレータを使ってローカルでサイトを構築し、生成されたファイルをGitHub Enterprise Cloudにプッシュしているなら、ローカルのリポジトリにCNAMEファイルを追加したコミットをプルしてください。 詳しい情報については「カスタムドメインとGitHub Pagesのトラブルシューティング」を参照してください。
-
あるいは、サイトに対してHTTPS暗号化を強制したい場合は、Enforce HTTPS(HTTPSを強制)を選択してください。 このオプションが利用できるようになるには、最大で24時間かかります。 詳しい情報についてはHTTPSでGitHub Pagesサイトをセキュアにするを参照してください。
Apexドメインとwww
サブドメイン付きのドメインの設定
Apexドメインを使う場合、コンテンツをApexドメインとwww
サブドメイン付きのドメインの双方でホストするようGitHub Pagesサイトを設定することをおすすめします。
Apexドメインと共にwww
サブドメインをセットアップするには、DNSプロバイダでALIAS
、ANAME
、A
のいずれかのレコードが作成することによって、まずApexドメインを設定しします。 詳しい情報については「Apexドメインの設定」を参照してください。
Apexドメインを設定したら、DNSプロバイダでCNAMEレコードを設定しなければなりません。
- DNSプロバイダにアクセスして、
www.example.com
がサイトのデフォルトドメインの<user>.github.io
もしくは<organization>.github.io
を指すようにするCNAME
レコードを作成してください。 リポジトリ名は含めないでください。 正しいレコードの作成方法に関する詳しい情報については、DNSプロバイダのドキュメンテーションを参照してください。 サイトのデフォルトドメインに関する詳しい情報については「GitHub Pagesについて」を参照してください。 - 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
カスタムドメインの削除
-
GitHub Enterprise Cloudで、サイトのリポジトリにアクセスしてください。
-
リポジトリ名の下で Settings(設定)をクリックしてください。
-
In the "Code and automation" section of the sidebar, click Pages.
-
"Custom domain(カスタムドメイン)"の下で、Remove(削除)をクリックしてください。
カスタムドメインの保護
If your GitHub Pages site is disabled but has a custom domain set up, it is at risk of a domain takeover. サイトが無効な間に、DNS プロバイダでカスタムドメインを設定していると、サブドメインのいずれかで誰かにサイトをホストされてしまう恐れがあります。
Verifying your custom domain prevents other GitHub users from using your domain with their repositories. If your domain is not verified, and your GitHub Pages site is disabled, you should immediately update or remove your DNS records with your DNS provider. 詳しい情報については「GitHub Pagesのカスタムドメインの検証」を参照してください。