Github PagesとCloudflareで静的サイトを配信
これまで、bobuhiro11.net と blog.bobuhiro11.net は、 自分で管理するサーバから配信していた。 ただ、どちらも静的サイトなので、必ずしも自分でインフラを管理する必要はなく、 楽をするために、これからはGithub Pagesを使って配信することにした。 調べてみたところ、Github Pagesでは、独自ドメインは利用できるが、HTTPSで配信することができない。 そこで、Github Pagesの前段に、SSL終端のできるCDNを配置した。 SSL終端のできるCDNは、いくつかあるようだが、 今回は無料で利用できるCloudflareを選択した。 Cloudflareには、DNSの機能もあるので、 お名前.comで登録している bobuhiro11.net とそのサブドメインを Cloudflareへ移行した。 まとめると、以下のようになる。 お名前.com:ドメインのレジストリ Cloudflare:DNSとCDN(SSL終端) Github Pages:静的サイトのビルドとHTTP配信 Githubの設定 2つのPrivateリポジトリを作成して、jekyllのコードをpush リポジトリの公開範囲がprivateであっても、gh-pagesブランチの内容は自動的に公開 リポジトリ直下に、ドメイン名を記述したCNAMEを配置 SettingsタブのGithub Pagesで確認 jekyllコードは自動でビルド Cloudflareの設定 ふつうzone apexにCNAMEレコードはマッピングできないが、 Cloudflareでは、CNAME Flatteningによって、例外的に割り当てることができる。 Aレコードよりも管理が楽なので、zone apexにもCNAMEを割り当てた。 適当にアカウントを登録して、設定を入れていく。 CloudflareとGithub Pagesの間では、sslを利用できないので、CryptoタブのSSL設定はFlexibleとした。 また、ブラウザにhttps接続を強制するために、HSTS(HTTP Strict Transport Security)の設定をする。 DNSタブ Type:CNAME, Name:blog, Value:bobuhiro11.github.io, TTL: Automatic, Status: DNS and HTTP proxy(CDN) Type:CNAME, Name:bobuhiro11.net, Value:bobuhiro11.github.io, TTL: Automatic, Status: DNS and HTTP proxy(CDN) Type:MX, Name:bobuhiro11.net, Value:xxxx, TTL: Automatic Type:TXT, Name:bobuhiro11....