HugoをGithub Pagesでカスタムドメインを使うために必要な設定を追加した
カスタムドメインの検証
- Github Pagesで使うドメインを検証しておくことで乗っ取りのリスクが低減する
- GitHub Pagesのカスタムドメインの検証
mintommm.github.io
リポジトリでの設定
- ※このGithub Pagesの設定をDNS設定の前に進める必要がある
- セキュリティ上の理由1による
- 他人が自分のGithub Pagesを乗っ取れるタイミングが発生してしまうとのこと
- DNS設定より先にこれをやるとドメインのDNSチェックがエラーになるので順番を守ること
mintommm.github.io
リポジトリ内の設定へ移動
- [Settings] > [Pages] > [Custom Domain]
tryk.dev
を入力して保存
- ここまではDNS設定前にやる必要がある
DNSチェック
- 15分くらいでTLS証明書の設定が終わる
- これが次項のDNS設定が終わってからでないと完了しない
Enforce HTTPSをONにする
- devドメインなのでHTTPSが必須?
- そうでなくてもhttpsにしない理由がないのでONにする
- DNSチェックが終わっていないとONにできない
ドメインへのDNS設定
- ※このDNS設定の前にGithub Pagesを設定しておく必要がある
- 同上
- ドメインのルート(Apexドメイン)で運用したい
- Github Pagesでは、Apexドメインを利用する場合にはサブドメイン
www
も同じページを指すように設定するのが推奨とのこと - サブドメイン
www
にも設定しておくことでApexドメインとサブドメインwww
の間で自動的なリダイレクトが設定される- 例:
tryk.dev
で運用しているときwww.tryk.dev
へのアクセスがtryk.dev
にリダイレクトされる`
- 例:
- Github Pagesでは、Apexドメインを利用する場合にはサブドメイン
- ルート
- A
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
- AAA
2606:50c0:8000::153
2606:50c0:8001::153
2606:50c0:8002::153
2606:50c0:8003::153
- A
- www
- CNAME
mintommm.github.io
- CNAME
CNAMEファイルの追加
これを設置しておくことで
mintommm.github.io
からtryk.dev
への301リダイレクトが設定されるactions-gh-pagesを使っているのでGithub Actionsのyamlファイルに以下を追加すればOK
1 2 3 4 5 6
jobs: deploy: steps: - name: Deploy with: cname: tryk.dev
サーチコンソールへの登録
- Google Domainsを使っているので所有者確認はクリックするだけで完了した
- Hugoデフォルトでsitemap.xmlが生成されているはずなので、
https://tryk.dev/sitemap.xml
を登録する
Notes
DNS プロバイダでカスタムドメインを設定する前に、必ず GitHub Pages サイトをカスタムドメインに追加してください。 カスタムドメインを GitHub に追加せずに DNS プロバイダに設定すると、別のユーザがあなたのサブドメインにサイトをホストできることになります。注: DNS の変更内容が反映されるまで最大で 24 時間かかることがあります。↩︎