HTTP リクエストヘッダーは、サーバーに対する特定のパラメーターを含む HTTP リクエストメッセージの一部です。オリジン HTTP リクエストヘッダーのルールを設定することで、特定のパラメーターをオリジンサーバーに渡すことができます。Edge Security Acceleration (ESA) は、これらのルールの追加、変更、削除をサポートしています。
はじめに
クライアントがリソースをリクエストすると、リクエストはまず ESA に到達します。リクエストが ESA の POP でキャッシュミスした場合、ESA の POP はオリジンリクエストヘッダーを含むオリジンリクエストをオリジンサーバーに送信してデータを取得します。ESA の POP は取得したリソースをクライアントに返します。
注意事項
オリジンリクエストヘッダーを変更する単一のルールに複数の操作が含まれている場合、操作は順番に実行されます。複数の操作が同じリクエストヘッダーを対象とする場合、最後の操作が前の操作を上書きします。
例 1
クライアントのリクエストには、ヘッダー
test:123が含まれています。ルールはヘッダー
test:321を追加します。
ユーザーリクエストがルールにヒットした場合、元のリクエストの test:123 ヘッダーは test:321 によって上書きされます。
例 2
クライアントのリクエストには、ヘッダー
test:123が含まれています。このルールは、ヘッダー
test:321を追加し、その後、別の操作でヘッダーtestを削除するように設定されています。
ユーザーリクエストがルールにヒットした場合、元のリクエストの test:123 ヘッダーは削除されます。
操作手順
ルールを追加すると、ユーザーがリソースをリクエストした際に、ESA は ルールの実行優先度 に基づいてルールを順番に照合し、実行します。
ESA コンソールで、サイト管理 を選択し、サイト 列で対象のサイトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
[リクエストヘッダーの変更] タブをクリックし、ESAから原点へ を選択します。ルールを追加 をクリックし、ルール名 を入力します。
リクエストが以下のルールと一致する場合... セクションで、クライアントリクエストが一致する必要がある条件を設定します。詳細については、「ルール式の構成」をご参照ください。
[リクエストヘッダーの変更] セクションで、[タイプ] と [操作] を選択し、[リクエストヘッダー名] と [リクエストヘッダー値] を入力します。
説明オリジンリクエストヘッダーを変更する単一のルールに複数の操作が含まれている場合、操作は順番に実行されます。複数の操作が同じリクエストヘッダーを対象とする場合、最後の操作が前の操作を上書きします。
操作
タイプ
説明
例
追加
静的
指定されたリクエストヘッダーをオリジンリクエストに追加します。
クライアントリクエストに同じ名前のリクエストヘッダーがすでに含まれている場合、新しいリクエストヘッダーが既存のものを上書きします。
名前が
x-code、値がkey1のリクエストヘッダーを追加するには、次のパラメーターを指定します:リクエストヘッダー名:
x-codeリクエストヘッダーの値:
key1
動的
リクエストヘッダー値は 式 に設定できます。
クライアントの送信元 IP アドレスを記録するために、名前が
True-Client-IPで値がip.srcのリクエストヘッダーを追加するには、次のパラメーターを指定します。リクエストヘッダー名:
True-Client-IPリクエストヘッダーの値:
ip.src
変更
静的
オリジンリクエスト内の指定されたリクエストヘッダーの値を変更します。
back-to-origin リクエストのリクエストヘッダー
x-codeの値をkey2に変更するには、次のパラメーターを指定します。リクエストヘッダー名:
x-codeリクエストヘッダーの値:
key2
動的
リクエストヘッダー値は 式 に設定できます。
back-to-origin リクエスト内の
True-Client-IPという名前のリクエストヘッダーを変更し、その値をクライアントの送信元 IP アドレスであるip.srcに変更するには、次のパラメーターを指定します。リクエストヘッダー名:
True-Client-IPリクエストヘッダーの値:
ip.src
削除
重複するリクエストヘッダーパラメーターがあるかどうかに関係なく、[リクエストヘッダー名] に一致するすべてのパラメーター値をオリジンリクエストから削除します。
x-codeという名前のリクエストヘッダーを削除するには、[リクエストヘッダー名] をx-codeに設定します。説明ali-またはAli-で始まる [リクエストヘッダー名] は設定しないでください。[リクエストヘッダーの値] には複数の値を設定できます。値はカンマ (
,) で区切ります。削除操作は、静的モードと動的モードで同じように機能します。
変更操作は、既存のリクエストヘッダーを変更するために使用されます。この操作は、指定された名前のリクエストヘッダーが元のリクエストに存在する場合にのみ適用されます。
[OK] をクリックします。
動的式の例
例 1
クライアントの送信元 IP アドレスを記録するリクエストヘッダーを追加します。
リクエストヘッダー名:
True-Client-IPリクエストヘッダー値:
ip.src
例 2
クライアントの IP アドレスに対応する国コードを記録するリクエストヘッダーを追加します。
リクエストヘッダー名:
IP-Country-Codeリクエストヘッダーの値:
ip.geoip.country
例 2
クライアントの IP アドレスに対応する省コードを記録するリクエストヘッダーを追加します。
リクエストヘッダー名:
IP-Province-Codeリクエストヘッダーの値:
ip.src.subdivision_1_iso_code
関連ドキュメント
ルール関連の機能は、実行優先度、ルールの動作、設定範囲において異なります。詳細については、「ESA ルールの有効化方法」をご参照ください。