Cloudflare Pages のドメイン *.pages.dev にアクセス制限をかける

2023.04.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

どうも、ベルリンオフィスの小西です。

Cloudflare Pages で新規プロジェクトを立ち上ると、外部からアクセス可能な .pages.devドメインが発行されます。

例えば site-name.pages.dev や、ビルドごとに生成されるユニークIDを含む a582c647.site-name.pages.dev などです。

各 Pages サイトには独自ドメインを当てることができますが、その場合上記のエンドポイントにアクセス制限をかけたくなるケースがあるかと思いますので、その方法を紹介します。

1. Cloudflare Access を使う

a582c647.site-name.pages.dev のようなビルドごとに生成されるドメインは Access Policy 機能からアクセス制御が可能です。

Cloudflare Pages Access

有効化すると、該当ドメインにアクセスした場合に、メールアドレスの入力とその後に送られるワンタイムパスワードの入力が求められるようになります。許可されていないメールアドレスにはパスワードは送られません。

Cloudflare Pages Access

なお、[Manage Policies] から Zero Trust 側のダッシュボードに移動して、より詳細なアクセス権限が可能です。デフォルトでは アカウントに所属するメンバー全員のメールアドレスが許可されます。

Cloudflare Pages Access

以上はあくまで *.site-name.pages.dev に対するアクセス制限となり、 site-name.pages.dev 自体は保護されない点にご注意ください。

Zero Trust 側で site-name.pages.dev 自体にアクセス制限を適用することはできるはできるのですが、付与されたカスタムドメインからもサイトアクセスができなくなってしまいます。

そのため次に紹介するバルクリダイレクトも併用します。

(備考)DNS-Only なら Access で一括アクセス制限が可能

なお Pages サイトに充てたカスタムドメインが Cloudflare 上で DNS-Only にて運用されている場合に限り、 site-name.pages.dev も Zero Trust 側で設定が可能です。

2. バルクリダイレクト

通常は大量のURLリダイレクトの登録/処理に使う機能ですが、ここでは site-name.pages.dev へのアクセスをリダイレクトさせるために使います。

Cloudflare Pages Access

まずは [Create Bulk Redirect List] からリダイレクトリストを作成します。

Cloudflare Pages Access

手動でリダイレクト元/先のURLを入力します。

  • [Source URL] には Pages ドメインを入力
  • [Target URL] には 充てている独自ドメインを入力

Cloudflare Pages Access

その後 [Create Bulk Redirect Rule] から、先ほど作成したリダイレクトリストをデプロイします。

Cloudflare Pages Access

以上が記事執筆時点で Pages サイトに設定できるアクセス制限です(他にもあればお教えください!)。

最後に

クラスメソッドは Cloudflare のパートナーになっています。Cloudflare のご利用に興味のある方は是非一度クラスメソッドにご相談ください。