私は http://github.com reposの一つにgh-pages
ブランチがあります。 GitHubプロジェクトのページは、私が行ってもうまくいきます http://myuser.github.com/myrepo
このプロジェクトページを提供するカスタムドメイン(myexample.com)を設定したいです。私は両方のmyexample.com
とwww.myexample.com
がこれらのプロジェクトページを提供することを望みます。
GitHubページが助けになります あなたのDNSにAレコードとCNAMEレコードを作るように言われます。 Aレコードは意味がありますが、DNSにどのCNAMEレコードを作成すればよいかわかりません。
gh-pages
のドキュメントでは、ユーザーページのリポジトリである 'charlie.github.com'のCNAME
レコードを作成するとしています。私はユーザページリポジトリを持っていません - 私はgh-pages
とmyexample.com
に使いたいプロジェクトリポジトリとwww.myexample.com
ブランチしか持っていません。
自分のプロジェクトページをwww.myexample.comとmyexample.com?に使用できるように、ユーザーページリポジトリを作成する必要がありますか。
試してみるだけですが、www.myexample.comをすでに公開しているので、これでうまくいくようにして、間違いをしたくないと思います。
GitHubのサポートにメールしたところ、彼らの反応は
私の知る限り、あなたは両方が同じghページを指すことはできません。
彼らがプロジェクトページのAレコードのみをサポートすると信じるのは難しいと思います。
誰かが以前にこれをうまくやったことがありますか?
1/23/19更新:
私の最後の答えから物事は(良くなるために)かなり変わった。この更新された答えはどのように設定するべきかをあなたに示します
結局、example.com
へのすべてのリクエストは https://www.example.com (またはHTTPSを使用しないことを選択した場合はhttp://)にリダイレクトされます。私は最後の着陸としていつもwww
を使います。なぜ( 1 、 2 )は別の議論のためです。
この答えは長いですが、複雑ではありません。このトピックに関するGitHubのドキュメントは明確ではなく、直線的でもないので、私は明確さを期して冗長でした。
GitHub Pages
セクションまでスクロールします。 2つの選択肢があります。 master branch
を選択すると、/README.md
をあなたのWebのindex.html
として扱います。 master branch /docs folder
を選択すると、/docs/README.md
をあなたのWebのindex.html
として扱います。Your site is ready to be published at
の横にあるリンクをクリックして、動作することを確認してください。ここにカスタムドメイン名を入力してsave
を押してください。
これは微妙ですが重要なステップです。
example.com
の場合、www.example.com
はexample.com
にリダイレクトされます。www.example.com
の場合、example.com
はwww.example.com
にリダイレクトされます。前述のように、上の図のようにwww.example.com
を入力したので、常にwww
に着陸することをお勧めします。
DNSプロバイダのWebコンソールで、4つのA
レコードと1つのCNAME
レコードを作成します。
A
@
(別名root apex)のレコード:@
を指定するDNSプロバイダーもあれば、@
を指定するものもあれば、(AWS Route35のように) サブドメインを空白のままにする というものもあります。どちらの場合でも、 these は作成するA
レコードです。
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
YOUR-GITHUB-USERNAME.github.io
に指すCNAME
レコードを作成します。これは最も紛らわしい部分です。
YOUR-GITHUB-USERNAME
ではなくに注意してくださいGitHubリポジトリの名前! YOUR-GITHUB-USERNAME
の値は このチャート によって決定されます。
ユーザーページのサイト(ほとんどの場合、あなたが何であるか)では、CNAME
のエントリはusername.github.io
になります。例:
組織ページのサイトの場合、CNAME
のエントリはorgname.github.io
になります。例:
Dig +noall +answer example.com
を実行してA
レコードを確認します。入力した4つの185.x.x.x
IPアドレスが返されます。
Dig www.example.com +nostats +nocomments +nocmd
を実行してCNAME
レコードを確認します。 CNAME YOUR-GITHUB-USERNAME.github.io
が返されるはずです
これらのDNSエントリが解決または伝達されるまでに1時間ほどかかる場合があります。それができたら、ブラウザをhttp://example.com
に開いてください。そうすればhttp://www.example.com
にリダイレクトされるはずです。
カスタムドメインが機能したら、リポジトリの設定に戻ります。設定ページが既に開いている場合は、ページをハードリフレッシュします。
Enforce HTTPS
チェックボックスの下にまだ処理中であることを示すメッセージがある場合は、待つ必要があります。 Custom domain
処理を開始するには、Enforce HTTPS
セクションのsave
ボタンを押す必要があるかもしれません。
処理が完了すると、次のようになります。
Enforce HTTPS
チェックボックスをクリックして、ブラウザでhttps://example.com
を指定するだけです。 https://www.example.com
をリダイレクトして開くべきです
GitHubは自動的にあなたのHTTPS証明書を最新の状態に保ち、そしてHTTPSを介したwww
リダイレクトへの頂点を処理するはずです。
お役に立てれば!!
...
それで私はそれを考え出しました。 James McLaughlin 私に必要なナッジをくれました。
Www.yourdomain.comおよびyourdomain.comを処理するghページのProject Pagesリポジトリ用にカスタムドメインを設定するには(リポジトリにghページのブランチが既にあると仮定します)。
yourdomain.com
という内容のCNAMEファイルを作成します。コミットしてプッシュする。cname
レコードを設定します。 1つはルート頂点(@)用、もう1つはwww用です。両方ともYOURusername.github.io
を指しています。 DNSプロバイダがルート頂点(@)上のALIAS
レコードをサポートしていない場合は、単に192.30.252.153
および192.30.252.154
を指すA
レコードを作成します。ネームサーバが更新されるまで待ちます。
Dig yourdomain.com +nostats +nocomments +nocmd
ドキュメント は、ユーザーページとは対照的に、プロジェクトページに関しては少し混乱します。もっとやらなければならないように感じますが、実際にはプロセスは非常に簡単です。
それは含まれます:
あなたのコンテンツは http://nicholasjohnson.com という形式のURLから配信されます。
訪問 http://www.nicholasjohnson.com 裸のドメインへの301リダイレクトを返します。
パスはリダイレクトによって尊重されるので、 http://www.nicholasjohnson.com/angular へのトラフィックは http://nicholasjohnson.com/angular にリダイレクトされます。
リポジトリごとに1つのプロジェクトページを持つことができるので、リポジトリが開いていれば、好きなだけ持つことができます。
これがプロセスです。
Aレコードの場合は、@に次のIPアドレスを指定します。
@: 185.199.108.153
@: 185.199.109.153
@: 185.199.110.153
@: 185.199.111.153
これらはあなたのコンテンツが提供される静的Github IPアドレスです。
CNAMEレコードの場合は、wwwにyourusername.github.ioを指定します。末尾の完全停止に注意してください。また、これはユーザー名であり、プロジェクト名ではありません。まだプロジェクト名を指定する必要はありません。 GithubはCNAMEファイルを使ってコンテンツを提供するプロジェクトを決定します。
例えば.
www: forwardadvance.github.io.
CNAMEの目的は、すべてのwwwサブドメイントラフィックをGitHubページにリダイレクトすることです。GitHubページは、301を裸のドメインにリダイレクトします。
これが私が自分のサイトに使用している設定のスクリーンショットです http://nicholasjohnson.com :
Gh-pagesブランチのプロジェクトルートにCNAMEというファイルを追加します。これはあなたが提供したいドメインを含むべきです。あなたがコミットしてプッシュすることを確認してください。
例えば.
nicholasjohnson.com
このファイルはGitHubにこのレポジトリを使ってこのドメインへのトラフィックを処理するように伝えます。
5分待って、プロジェクトページはライブになります。
www
リクエストをwww.mydomain.com
にリダイレクトするのではなく、ドメインをmydomain.com
として表示する方法を疑問に思っている場合は、これを試してください。
ghページのCNAMEファイルブランチは1行になります。
www.mydomain.com
(mydomain.com
の代わりに)
リダイレクトを優先しても(つまり、gs-pagesブランチのCNAMEファイルに何が入っていても)、DNSプロバイダの場合のように、次のように設定する必要があります。
A @ 192.30.252.154
A @ 192.30.252.153
CNAME www username.github.io
これらの詳細な説明は素晴らしいですが、OPの(そして私の)混乱は1文で解決できます。"特定のプロジェクトを無視してGitHubに直接DNS sernameまたはorganization、プロジェクトリポジトリに適切なCNAME filesを追加します。GitHubはrespository。 "内のfilesに基づいて適切なDNSを適切なプロジェクトに送信します。
2013年8月29日現在、 Githubのドキュメント と主張しています。
警告: http://username.github.io/projectname のようなプロジェクトページのサブパスは、プロジェクトのカスタムドメインにリダイレクトされません。
PairNIC を使用しているのであれば、 "カスタムDNS"の下の "Web転送"設定を有効にしてusername.githubを指定するだけでよいことがわかりました。 IO /プロジェクトアドレスとそれは自動的にあなたのための頂点とサブドメインレコードの両方を設定します。受け入れられた答えで提案されていることを正確に実行するようです。ただし、手動でレコードを追加してもまったく同じことはできません。非常に奇妙な。とにかく、それを理解するのにしばらく時間がかかったので、私は誰もが問題を解決するために共有したいと思いました。
my steps を共有したいのですが、これは rynop と superluminary が提供するものとは少し異なります。
A
の場合、レコードはまったく同じですがCNAME
に対してwww
を作成する代わりに、空白のドメインにリダイレクトすることをお勧めします(non-www
)この設定は preferred domain のガイダンスを参照しています。 www
からnon www
への、またはその逆のドメイン設定は、ドメインプロバイダごとに異なる可能性があります。私のドメインはGoDaddyの下にあるので、Domain Settingの下でSUBDOMAIN FORWARDING(301)を使って設定します。
ドメインをGithubレポジトリにポイントした結果、以下のリストのように、master
とgh-pages
の両方のブランチのURLが優先ドメインに割り当てられます。
マスター
CNAME
ブランチにmaster
ファイルを作成することによって(私の ser repository )でそれをチェックしてください。
http://hyipworld.github.io/
http://www.hyip.world/
http://hyip.world/
gh-pages
gh-pages
ブランチに同じCNAME
ファイルを作成することによって(私の project repository でそれをチェックしてください)。
http://hyipworld.github.io/maps/
http://www.hyip.world/maps/
http://hyip.world/maps/
上記のCNAME
ファイルに加えて、あなたはあなたのページレポジトリのルートに.nojekyll
という名前のファイルを作ることによってGitHubページ上で完全に bypass Jekyll processing を必要とするかもしれません。