![Cloudflare のページルールを新しいルールの設定に移行するには](https://images.ctfassets.net/ct0aopd36mqt/wp-thumbnail-f6a10752c0ec2f1913230b2eb34a63c8/9b3b5893c230b3e40c46a79a9e06efc5/cloudflare-1200x630-1.jpg)
Cloudflare のページルールを新しいルールの設定に移行するには
ウィスキー、シガー、パイプをこよなく愛する大栗です。
昨年 2024 年の 6 月に Cloudflare のページ ルールの廃止についてアナウンスがありました。 2025 年の後半に自動的に移行される予定です。しかし、事前に確認して移行を行いたい場合には手動で実施する必要があります。本エントリでは手動で新しいルールへ移行する方法についてまとめています。
2024年6月時点におけるCloudflare Page Rulesの現状について
ルールの新旧
ページ ルールでは各種ルールが一箇所の設定に纏まっていたため、30以上のルールがあります。複雑になっていたため、新しいルールではパターンごとに異なるカテゴリで設定します。
- リダイレクト ルール
- 変換ルール
- URL 書き換えルール
- リクエスト ヘッダー変換ルール
- レスポンス ヘッダー変換ルール
- 構成ルール
- オリジン ルール
- Cache Rules
- 圧縮ルール
コンソール上では以下のようにルール設定が別れています。
既存のページ ルールは以下のカテゴリーのルールへ移行できます。
No. | 画面 | ルール | 備考 |
---|---|---|---|
1 | Cache Deception アーマー | Cache Rules | 「Cache Deception アーマー」の移行 |
2 | Cookie でキャッシュ | Cache Rules | 「Cookie でキャッシュ」の移行 |
3 | Cookie のバイパス キャッシュ | Cache Rules | 「Cookie のバイパス キャッシュ」の移行 |
4 | HTTPS の自動リライト | 構成ルール | 「HTTPS の自動リライト」の移行 |
5 | IP ジオロケーション ヘッダー | 変換ルール (Managed Transforms) | 「IP ジオロケーション ヘッダー」の移行 |
6 | Mirage | 構成ルール | 「Mirage」の移行 |
7 | Polish | 構成ルール | 「Polish」の移行 |
8 | Rocket Loader | 構成ルール | 「Rocket Loader」の移行 |
9 | SSL | 構成ルール | 「SSL」の移行 |
10 | True Client IP ヘッダー | 変換ルール (Managed Transforms) | 「True Client IP ヘッダー」の移行 |
11 | URL の転送 | リダイレクト ルール (Single Redirects) | 「URL の転送」の移行 |
12 | Web アプリケーション ファイアウォール | N/A (deprecated) | 「Web アプリケーション ファイアウォール」の移行 |
13 | Zaraz を無効にする | 構成ルール | 「Zaraz を無効にする」の移行 |
14 | アプリを無効にする | 構成ルール | 「アプリを無効にする」の移行 |
15 | エッジ キャッシュ TTL | Cache Rules | 「エッジ キャッシュ TTL」の移行 |
16 | オーバーライドを解決 | オリジン ルール | 「オーバーライドを解決」の移行 |
17 | オリジン エラー ページ パススルー | Cache Rules | 「オリジン エラー ページ パススルー」の移行 |
18 | オリジン キャッシュ コントロール | Cache Rules | 「オリジン キャッシュ コントロール」の移行 |
19 | カスタム キャッシュ キー | Cache Rules | 「カスタム キャッシュ キー」の移行 |
20 | キャッシュ レベル | Cache Rules | 「キャッシュ レベル」の移行 |
21 | ステータス コードで TTL をキャッシュする | Cache Rules | 「ステータス コードで TTL をキャッシュする」の移行 |
22 | セキュリティを無効にする | N/A (deprecated) | 「セキュリティを無効にする」の移行 |
23 | セキュリティ レベル | 構成ルール | 「セキュリティ レベル」の移行 |
24 | デバイスの種類別のキャッシュ | Cache Rules | 「デバイスの種類別のキャッシュ」の移行 |
25 | パフォーマンスを無効にする | N/A (deprecated) | 「パフォーマンスを無効にする」の移行 |
26 | ブラウザ キャッシュ TTL | Cache Rules | 「ブラウザ キャッシュ TTL」の移行 |
27 | ブラウザ整合性チェック | 構成ルール | 「ブラウザ整合性チェック」の移行 |
28 | ホスト ヘッダー オーバーライド | オリジン ルール | 「ホスト ヘッダー オーバーライド」の移行 |
29 | メールアドレス難読化 | 構成ルール | 「メールアドレス難読化」の移行 |
30 | 応答バッファリング | N/A (deprecated) | 「応答バッファリング」の移行 |
31 | 強力な ETag を尊重する | Cache Rules | 「強力な ETag を尊重する」の移行 |
32 | 検索文字列のソート | Cache Rules | 「検索文字列のソート」の移行 |
33 | 常に HTTPS を使用 | リダイレクト ルール (Single Redirects) | 「常に HTTPS を使用」の移行 |
34 | 日和見暗号化 | 構成ルール | 「日和見暗号化」の移行 |
移行の詳細について
2025年後半に自動で移行される予定ですが、最近の機能を使用したり、自由にルールをカスタマイズしたりするためには新しいルールへの移行が必要となります。各ページ ルールの移行方法の詳細を記述しています。ドキュメントの詳細は以下のリンク先をご覧ください。
「Cache Deception アーマー」の移行
Cache Rules へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
キャッシュの適格性 | キャッシュの対象 | |
キャッシュ キー | Cache Deception アーマー:オン |
「Cookie でキャッシュ」の移行
Cache Rules へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件に加えて、以下の条件を AND で追加します。
フィールド | オペレーター | 値 | 備考 |
---|---|---|---|
Cookie | 次を含む | cookie 名 |
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
キャッシュの適格性 | キャッシュの対象 |
「Cookie のバイパス キャッシュ」の移行
Cache Rules へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件に加えて、以下の条件を AND で追加します。
フィールド | オペレーター | 値 | 備考 |
---|---|---|---|
Cookie | 次を含む | cookie 名 |
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
キャッシュの適格性 | キャッシュをバイパスする |
「HTTPS の自動リライト」の移行
構成ルールへ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
HTTPS の自動リライト | オン |
「IP ジオロケーション ヘッダー」の移行
変換ルールへ設定を移行します。
Managed Transforms
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
HTTP リクエスト ヘッダー | 訪問者の Location ヘッダーを追加する:オン |
「Mirage」の移行
構成ルールへ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
Mirage | オン/オフ | 既存の値に応じて オン/オフ を設定 |
「Polish」の移行
構成ルールへ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
Polish | オフ/非可逆/可逆 | 既存の値に応じて設定 |
「Rocket Loader」の移行
構成ルールへ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
Rocket Loader | オン/オフ | 既存の値に応じて オン/オフ を設定 |
「SSL」の移行
構成ルールへ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
SSL | オン/オフ | 既存の値に応じて オン/オフ を設定 |
「True Client IP ヘッダー」の移行
変換ルールへ設定を移行します。
Managed Transforms
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
HTTP リクエスト ヘッダー | "True-Client-IP" ヘッダーを追加します:オン |
「URL の転送」の移行
リダイレクト ルール(シングル リダイレクト)
受信リクエストが一致する場合…
「ワイルドカード パターン」でリクエスト URLにページルールと同様の URL を入力します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
ターゲット URL | <既存の URL を変換したコード> | ページルールの変数 $1 を {$1} に書き換えた URL |
ステータス コード | <既存のコード> |
例えばページ ルールの https://example.com/$1
を https://example.com/{$1}
に変換してターゲット URL に入力します。
「Web アプリケーション ファイアウォール」の移行
ページ ルールの「Web アプリケーション ファイアウォール」は旧バージョンの WAF 管理ルールが非推奨のため、直接の移行先は存在しません。現バージョンの WAF 管理ルールを使用してください。
「Zaraz を無効にする」の移行
構成ルールへ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
Zaraz を無効にする | 有効化 |
「アプリを無効にする」の移行
構成ルールへ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
アプリを無効にする | 有効化 |
「エッジ キャッシュ TTL」の移行
Cache Rules へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件に加えて、以下の条件を AND で追加します。
フィールド | オペレーター | 値 | 備考 |
---|---|---|---|
Cookie | 次を含む | cookie 名 |
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
エッジ TTL | キャッシュ制御ヘッダーを無視し、この TTL を使用します | |
入力有効期間 (TTL) | <既存のエッジ キャッシュ TTL の値> |
「オーバーライドを解決」の移行
オリジン ルールへ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
DNS レコード | <上書き先... に既存の URL を入力> |
「オリジン エラー ページ パススルー」の移行
Cache Rules へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
オリジン エラー ページのパススルー | オリジン エラー ページ パススルーを使用する:オン |
「オリジン キャッシュ コントロール」の移行
Cache Rules へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
オリジン キャッシュ コントロール | オリジン キャッシュ コントロールを有効にする:オフ |
「カスタム キャッシュ キー」の移行
Cache Rules へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
キャッシュの適格性 | キャッシュの対象 |
「キャッシュ キー」の設定を追加します。
キャッシュ キー:クエリー文字列
ページルールと同様の内容で設定します。以下のいずれかを選択して必要に応じてパラメータを入力します。
- すべてのクエリ文字列パラメータ
- 次を除くすべてのクエリー文字列パラメータ
- 次を除くクエリー パラメータはありません
- クエリー文字列を無視する
キャッシュ キー:ヘッダー
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
ヘッダーと選択した値を含める | <ページルールの「ヘッダー名とその値を含める」の値> | ヘッダー名と値を別の枠に入力する |
次の存在を確認する | <ページルールの「次の存在を確認する」の値> | |
オリジンのヘッダーを含める | <ページルールの「オリジンのヘッダーを含める」の値> |
キャッシュ キー:Cookie
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
Cookie 名とその値を含める | <ページルールの「Cookie 名とその値を含める」の値> | |
次の存在を確認する | <ページルールの「次の存在を確認する」の値> |
キャッシュ キー:ホスト
元のホストを使用する
か 解決されたホスト
をページルールと同様に設定します。
キャッシュ キー:ユーザー
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
デバイスの種類 | <ページルールの「デバイスの種類」の値> | |
国 | <ページルールの「国」の値> | |
言語 | <ページルールの「言語」の値> |
「キャッシュ レベル」の移行
Cache Rules へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
キャッシュ レベル:スキップ
「キャッシュの適格性」で「キャッシュをバイパスする」を設定します。
キャッシュ レベル:クエリー文字列なし
「キャッシュ キー」で以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
クエリー 文字列 | 次を除くクエリー パラメータはありません | パラメータを空にする |
キャッシュ レベル:クエリー文字列を無視する
「キャッシュ キー」で以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
クエリー 文字列 | クエリー文字列を無視する |
キャッシュ レベル:スタンダード
デフォルト設定であるため、特に設定は必要ありません。
キャッシュ レベル:Cache Everything
「キャッシュ キー」で以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
クエリー 文字列 | すべてのクエリ文字列パラメータ |
「ステータス コードで TTL をキャッシュする」の移行
Cache Rules へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
エッジ TTL を有効にして、以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
エッジ TTL | 存在する場合は cache-control ヘッダーを使用し、存在しない場合は Cloudflare のデフォルト TTL でリクエストのレスポンス ステータスをキャッシュします | |
ステータスコード TTL | <ページルールと同様のステータスコードと期間> | スコープはシングルコードか範囲 |
「セキュリティを無効にする」の移行
「セキュリティを無効にする」設定は非推奨です。この設定のページ ルールは移行されません。
「セキュリティ レベル」の移行
構成ルールへ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
セキュリティ レベル | <ページルールの「セキュリティ レベル」の値> |
「デバイスの種類別のキャッシュ」の移行
Cache Rules へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
キャッシュの適格性 | キャッシュの対象 | |
キャッシュ キー | デバイスの種類別のキャッシュ:オン |
「パフォーマンスを無効にする」の移行
「パフォーマンスを無効にする」設定は非推奨です。
構成ルール へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
Mirage | オフ | |
Polish | オフ | |
Rocket Loader | オフ |
「ブラウザ キャッシュ TTL」の移行
Cache Rules へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
ブラウザ TTL を有効にして、以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
ブラウザ TTL | オリジンをオーバーライドしてこの TTL を使用します | |
入力有効期間 (TTL) | <ページルールの<ブラウザ キャッシュ TTL>の値 |
「ブラウザ整合性チェック」の移行
構成ルールへ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
ブラウザ 整合性チェック | <ページルールの「ブラウザ整合性チェック」の値> |
「ホスト ヘッダー オーバーライド」の移行
オリジン ルールへ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
ホスト ヘッダー | 書き換え先.. | <ページルールの「ホスト ヘッダー オーバーライド」の値> |
「メールアドレス難読化」の移行
構成ルールへ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
メールアドレス暗号化 | <ページルールの「メールアドレス暗号化」の値> |
「応答バッファリング」の移行
「応答バッファリング」設定は非推奨です。この設定のページ ルールは移行されません。
「強力な ETag を尊重する」の移行
Cache Rules へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
強力な ETag を尊重する を有効にして、以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
強力な ETag ヘッダーを使用する | <ページルールの「強力な ETag を尊重する」の値> |
「検索文字列のソート」の移行
Cache Rules へ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
キャッシュ キー を有効にして、以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
クエリ文字列の並べ替え | <ページルールの「検索文字列のソート」の値> |
「常に HTTPS を使用」の移行
リダイレクト ルール(シングル リダイレクト)へ設定を移行します。
受信リクエストが一致する場合…
「ワイルドカード パターン」でリクエスト URLに「http://*」を入力します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
ターゲット URL | https://${1} |
|
ステータス コード | 301 | |
クエリ文字列を保持する | 有効 |
「日和見暗号化」の移行
構成ルールへ設定を移行します。
受信リクエストが一致する場合…
「ホスト名」と「URI パス」の条件を設定します。
実行内容...
以下を設定します。
実行内容... | 設定内容 | 備考 |
---|---|---|
日和見暗号化 | <ページルールの「日和見暗号化」の値> |
まとめ
Cloudflare で動作を設定するため以前はページ ルールで設定していましたが、ルール設定を再構成するためカテゴリ分けされるようになりました。新しい機能は移行先の設定でないと追加できないため、有用な機能がある場合には自動移行を待たずに手動での移行を検討したほうが良いでしょう。また自動移行の前に事前に動作を確認したいという場合にも手動での移行を検討したほうが良いと思います。