Closed3

Cloudflare で Pages と Workers を同じドメインにデプロイする

すばるすばる

達成したいこと

example.com : Pages
example.com/* : Workers

Pages Functions を使わずに別々でデプロイするイメージ

ただし example.com/_next/* など Pages の表示に必要な Route も Pages に向くようにする

すばるすばる

必要な設定

Custom Domains は Pages 側で設定

Workers Routes の設定

*example.com/* が Workers に向くようにし、Pages で使用する Route には「None」を選択する

* は 0 文字以上にマッチする ので、*example.com/ に対しても「None」の設定が必要

Route 設定で「None」を明示的にすることで、Pages に向けることができる

Workers の Route は wrangler.toml に書くこともできる

wrangler.toml
route = { pattern = "*example.com/*", zone_name = "example.com" }
すばるすばる

懸念

  • Pages の Custom Domains のステータスが「Verifying」のままになる?
    動いているから問題はないが、気持ち悪い
  • Pages の static path を手動で除外する必要があり、トラブル発生時に原因を特定しづらい(一敗)
    wrangler から設定できればデプロイ時に自動で構成することもできるが、現状できなさそう
このスクラップは2023/03/06にクローズされました