認証機能付きで静的サイトホスティングしたくなった。もしGithubのProアカウントを持っているなら、プライベートリポジトリのGithub Pagesがちょうど良いかもしれない。
今回はCloudflare Pagesを使って同じような事をしてみる事にした。つまりCloudflare Pagesを使い静的サイトホスティングし、ホスティングしたページへのアクセスにはGithubの認証が必要になるようにした。
いろいろと設定をしたので、きちんとまとめる気力がなくなってしまったので、やったことの要点だけ残しておく事にする。
前提
- Cloudflareのアカウントは既に作成している。
- Cloudflare Zero Trustは既に有効になっている。
- Cloudflare Registrar経由でドメインを既に所有している。
やったこと
- Githubのリポジトを作成する。
Cloudflare Pagesを作成する。
- Githubリポジトリと連携させる。
- ビルド設定を行う。
- previewデプロイは無効にする。
- カスタムドメインを設定する。
GithubのOAuthアプリケーションを作成する。
Cloudflare Zero TrustのAccessの設定を行う。
- 自動的に割り振られるドメインと、カスタムドメインの両方を「Application domain」に追加する。
- 「Policies」の「Configure rules」のSelectorに「Emails」を設定し、Valuesに許可したい人のメールアドレスを設定する。
諦めた事
Cloudflare Pagesは pages.dev
ドメインのサブドメインを自動で割り振ってくれる。今回は自分が所有するドメインを使用するため、むしろそのドメインは不要だった。設定が複雑になるのは避けたいので、その自動で割り振られるドメインを、割り振られないようにしたかったのだが、その方法が分からなかったから最終的に諦める事にした。