Origin Rules(オリジンルール)では、Cloudflare がリクエストを送るオリジンサーバーを変えたり、そのサーバーへ届く方法を変えたりできます。特定のリクエストを別のバックエンド(サードパーティサービスや、標準以外のポートのサーバーなど)へ送るときに使います。次の上書きができます。
- Host ヘッダー: 受信リクエストの
Hostヘッダーを上書きします。 - Server Name Indication (SNI): 受信リクエストの Server Name Indication (SNI) 値を上書きします。
- DNS レコード: 受信リクエストの解決済みホスト名を上書きし、別のオリジンサーバーへ送ります。
- 宛先ポート: 受信リクエストの解決済み宛先ポートを上書きします。
各オリジンルールには、上書きの対象リクエストを決める フィルター式 があります(ホスト名、パス、その他のリクエスト属性など)。
より複雑な and customized modifications には、Snippets の利用を検討してください。
Cloudflare は、よくあるユースケース向けのルールテンプレートを提供しています。
-
Cloudflare ダッシュボードで、Rules の Overview ページを開きます。
Overview を開く ↗ -
Templates を選び、利用可能なテンプレートのいずれかを選びます。
開発者向けドキュメントの Examples ギャラリー も参照できます。
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| 利用可否 | はい | はい | はい | はい |
| ルール数 | 10 | 25 | 50 | 300 |
| Host ヘッダーの上書き | いいえ | いいえ | いいえ | はい |
| SNI の上書き | いいえ | いいえ | いいえ | はい |
| DNS レコードの上書き | いいえ | いいえ | いいえ | はい |
| 宛先ポートの上書き | はい | はい | はい | はい |
Rules 機能の実行順序は次のとおりです。
- Single Redirects
- URL Rewrite Rules
- Configuration Rules
- Origin Rules
- Bulk Redirects
- Managed Transforms
- Request Header Transform Rules
- Cache Rules
- Snippets
- Cloud Connector
上記の各種ルールは Page Rules より優先されます。Page Rules と上記の Rules 製品の両方に一致する場合、Page Rules は上書きされます。
一般的に、終了しないアクション では、同じ フェーズ 内のルールによる最後の変更が優先されます(後のルールは、前のルールによる変更を上書きできます)。一方、終了アクション(Block、Redirect、またはチャレンジアクションのいずれか)では、ルールの評価が止まり、そのアクションがすぐに実行されます。
たとえば、Redirect アクションを持つ複数のルールが一致した場合、Cloudflare は常に最初に一致したルールの URL リダイレクトを使います。また、異なる Cloudflare 製品(Single Redirects と Bulk Redirects)で URL リダイレクトを設定している場合、ルールが一致すれば、先に実行される製品が適用されます(この場合は Single Redirects)。
製品の実行順序については、フェーズ一覧 を参照してください。
オリジンルールでホスト名を上書きし(Host ヘッダー上書きまたは DNS レコード上書き)、ロードバランサー設定にもヘッダー上書きを追加した場合、オリジンルールがロードバランサー設定より優先されます。
Page Rules と同様に、Host ヘッダーを上書きするオリジンルールは、元のリクエストの SNI 値も Host ヘッダーと同じ値に更新します。Host ヘッダー上書きと異なる SNI 値を設定するには、同じオリジンルールに SNI 上書きを追加するか、この目的専用のオリジンルールを別に作成します。
origin rules のトラブルシューティングでは、Cloudflare Trace を使い、特定の URL でルールが発動するかどうかを確認します。