前提
GitHub Pagesでお手軽にHTTPSを利用したい
はじめに
GitHub PagesではSSLサーバ証明書の設定ができません。
そのため、GIthub Pages + 独自ドメインでHTTPS (SSL) に対応するには、
CDNでリバースプロキシを利用するといった方法をとられている方が多いと思います。
GitHubのHTTPSサポートの動向
GitHubが独自ドメイン用の証明書を発行するようになった
2018年2月中旬ごろ、Github Pages側でLet's EncryptのSSLサーバ証明書が
自動で発行されるようになり、リバースプロキシの設定をする必要がなくなりました。
GitHub PagesがHTTPSを公式にサポート開始
2018年2月中旬から4月下旬まで、独自ドメインのHTTPSサポートを非公式に提供するにとどまっていましたが、2018/05/01にGitHub Pagesが公式に独自ドメインでHTTPSをサポートすることを発表しました。
GitHub Pagesにおける独自ドメインとHTTPSの利用設定
独自サブドメインの利用設定
利用する独自ドメインがサブドメイン (例: www.example.com
) の場合、DNSのCNAMEレコードを設定します。
-
GitHub Pagesを利用するGithubレポジトリのメインページへ移動
-
Settingをクリック
-
利用するサブドメインが記載されたCNAMEというファイルがレポジトリに自動で追加される
-
対象のサブドメインに対する元のドメインとして
YOUR-DOMAIN.github.io
(YOUR-DOMAIN
は置き換え) を指定する。YOUR-DOMAIN
に指定する内容はCustom domainの設定のテキストボックスの上の説明文中で確認できる (上記画像参照)
独自メインドメインの利用設定
独自サブドメインのみをGitHub Pagesで利用する場合、この設定はしないでください。
利用する独自ドメインがメインドメイン (例:example.com
) の場合、Aレコードを設定します。
対象のメインドメインに対するIPアドレスとして以下の4つを指定します。
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
HTTPSの利用設定
- GitHub Pagesを利用するGithubレポジトリのメインページへ移動
- Settingをクリック
- Enforce HTTPSにチェック
Enforce HTTPSにチェックできない場合
(@aikawameさん 情報提供ありがとうございます)
「Enforce HTTPS」の設定で以下のようなメッセージが表示されている場合、HTTPSを設定ができません。
2018年4月末現在、全リポジトリでHTTPSが利用可能にはなってはおらず、順次展開されているようです。
Unavailable for your site because you have a custom domain configured (example.com)