メインコンテンツへスキップ
ブログサイトのロゴsui Tech Blog

2026-02-23

Cloudflare Workers のプレビュー URL を自動で無効化する

バージョン削除では消えないプレビュー環境をSubdomain APIで安全に管理する方法

プレビューURLが残るセキュリティリスク

PRマージ後もプレビュー環境が自動で削除されず誰でもアクセス可能な状態が続いてしまいます

放置されるURL

PR終了後もアクセス可能

認証機能がないためURLを知っていれば誰でも閲覧できてしまう

API削除の罠

バージョン削除は無意味

Beta APIでバージョンを消してもルーティングは残りアクセス可能

CORE MESSAGE

プレビューURL無効化の正解

Workersのバージョンは不変かつ追記のみの設計。削除ではなくSubdomain APIでルーティングを制御するのが正しいアプローチです

Beta APIでの削除

メタデータが消えるだけでプレビューURLへのアクセスは遮断されない

Subdomain APIの利用

previews_enabledをfalseにして全プレビューを確実にHTTP/404にする

本番環境への影響はゼロ

enabledとpreviews_enabledは独立しているため本番URLはHTTP/200のまま維持される

2つのAPI設定と対象URLの違い

Subdomain APIで制御できる2つのフラグとその影響範囲を整理します

enabledフラグ

本番環境のworkers.dev URLを制御

対象URL

{script_name}.workers.dev

設定変更の影響

falseにすると本番環境が停止する

previews_enabled

プレビュー用のURLを制御

対象URL

{version}-...workers.dev

設定変更の影響

falseにするとプレビューのみHTTP/404になる

GitHub Actionsでの自動化フロー

PRデプロイ時と本番デプロイ時にAPIを叩いてプレビュー状態を自動制御します

1

デプロイ前

previews_enabledをtrueにしてプレビューURLを有効化する

2

動作確認

発行されたプレビューURLでPRの変更内容をテストする

3

本番デプロイ後

previews_enabledをfalseにしてプレビューURLを無効化する

Next Actions

安全なプレビュー運用を始めよう

不要なプレビュー環境を適切に閉じてセキュリティリスクを最小限に抑えましょう

導入のステップ

APIトークンの取得

Cloudflareダッシュボードで必要な権限を持つトークンを発行

CI/CDの改修

GitHub ActionsのワークフローにAPIリクエストを追加

ポイント: 複数PRのプレビューを同時使用する場合はCloudflare Accessの利用も検討してください

安全な開発体験を構築していこう

sui Tech Blog