1. ホーム
  2. github

[解決済み] GitHubプロジェクトページのカスタムドメイン

2022-03-19 11:48:39

質問

私は gh-pages ブランチを作成しました。 http://github.com レポを作成します。GitHub のプロジェクトページで http://myuser.github.com/myrepo

私はこのプロジェクトのページを提供するカスタムドメイン(myexample.com)を設定したいと思います。 必要なのは 両方 myexample.comwww.myexample.com を使用して、これらのプロジェクトページを提供します。

GitHubページのヘルプ は、DNSにAレコードとCNAMEレコードを作成するように言っています。 Aレコードは意味がありますが、私のDNSで作るべきCNAMEレコードがわかりません。

その gh-pages ドキュメントによると CNAME の記録は、ユーザーページリポジトリである 'charlie.github.com' のためにあります。 私はユーザーページリポジトリを持っていません - 私は、プロジェクトリポジトリと gh-pages ブランチに使用したい myexample.comwww.myexample.com .

www.myexample.com と myexample.com のプロジェクトページを使えるようにするためだけに、ユーザーページリポジトリを作る必要がありますか?

ただ試してみたいのですが、すでにwww.myexample.com が稼動しているので、これがうまくいくことを確認したいのです。失敗したくないのです。

GitHubのサポートにメールで問い合わせたところ、その回答は

私の知る限り、同じgh-pagesを両方指すようにすることはできません。

プロジェクトページのAレコードのみをサポートするとは考えにくいです。

どなたか成功された方はいらっしゃいますか?

解決方法は?

19年1月23日更新

前回の回答から状況がかなり変わりました(良い方向に)。 この更新された回答では、設定方法について説明します。

  1. ルートエイペックス (example.com)
  2. サブドメイン( www.example.com )
  3. HTTPS(オプションだが強く推奨)

最終的に、すべてのリクエストは example.com にリダイレクトされます。 https://www.example.com (HTTPSを使用しない場合は、http://). 私はいつも www を最後の着地点とします。 なぜ( 1 , 2 ) については、また別の機会に。

この回答は長いですが ではなく 複雑です。 このトピックに関するGitHubのドキュメントが明確でなく、直線的でないため、わかりやすくするために冗長にしました。

ステップ1:GitHubの設定でGitHubページを有効化する

  1. 自分のレポから タブ
  2. までスクロールしてください。 GitHub Pages セクションを作成します。 2つのオプションがあります。
  3. 選択する master branch を処理します。 /README.md をあなたのウェブ index.html . 選択する master branch /docs folder を処理します。 /docs/README.md をあなたのウェブ index.html .
  4. テーマを選択します。
  5. GitHubがあなたのサイトを公開するまで、少し待ってください。 の横にあるリンクをクリックして、動作することを確認しましょう。 Your site is ready to be published at

ステップ2:GitHubの設定からカスタムドメインを指定する

カスタムドメイン名をここに入力し save :

これは微妙なところですが、重要なステップです。

  • GitHub Pages サイトに追加したカスタムドメインが example.com であれば www.example.com にリダイレクトされます。 example.com
  • GitHub Pages サイトに追加したカスタムドメインが www.example.com であれば example.com にリダイレクトされます。 www.example.com .

前述したように、私は常に www を入力しました。 www.example.com 上の写真のように

ステップ3:DNSエントリーの作成

DNSプロバイダーのウェブコンソールで、4つの A レコードと、1つの CNAME .

  1. A の記録 @ (別名:ルートエイペックス)。

一部のDNSプロバイダーでは @ を指定する必要がありますが、AWS Route 53 などでは サブドメインは空白のまま を示すために @ . いずれの場合も これら A のレコードを作成します。

185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153

Githubのドキュメントを確認する をクリックして、これらが最新のIPであることを確認してください。

  1. を作成します。 CNAME を指し示すレコード www.example.com から YOUR-GITHUB-USERNAME.github.io .

ここが一番わかりにくいところです。

YOUR-GITHUB-USERNAME NOT GitHub リポジトリの名前 の値は YOUR-GITHUB-USERNAME によって決定されます。 本図 .

については ユーザーページ サイト(ほとんどの場合、あなたがそうであるように)。 CNAME のエントリは username.github.io

の場合 組織ページ のサイトをご覧ください。 CNAME のエントリは orgname.github.io

ステップ5:DNSエントリーの確認

  1. を確認します。 A を実行することによって記録されます。 dig +noall +answer example.com . これは、4つの 185.x.x.x 入力されたIPアドレス

  2. を確認します。 CNAME を実行することで記録します。 dig www.example.com +nostats +nocomments +nocmd . を返すはずです。 CNAME YOUR-GITHUB-USERNAME.github.io

これらのDNSエントリーが解決/伝播するまでに1時間ほどかかる場合があります。 解決したら、ブラウザで http://example.com にリダイレクトされるはずです。 http://www.example.com

ステップ6:SSL(HTTPS)の設定。オプションですが、強くお勧めします

カスタムドメインが動作するようになったら、レポの設定に戻ります。 すでに設定ページを開いている場合は、ページをハードリフレッシュしてください。

の下にメッセージが表示されている場合 Enforce HTTPS チェックボックスがまだ処理中であることを示すため、待つ必要があります。 また save ボタンをクリックします。 Custom domain セクションをキックオフするために Enforce HTTPS の処理を行います。

処理が完了すると、このように表示されます。

をクリックするだけです。 Enforce HTTPS にチェックを入れ、ブラウザで https://example.com . をリダイレクトして開くはずです。 https://www.example.com

それだ!

GitHub は自動的に HTTPS 証明書を最新の状態に保ち、apex を次のように処理します。 www HTTPS上でリダイレクトします。

お役に立てれば幸いです!