HTTP リクエストヘッダーは、サーバー向けのパラメーターを含む、HTTP リクエストメッセージの構成要素です。オリジン HTTP リクエストヘッダーのルールを設定することで、特定のパラメーターをオリジンサーバーに渡すことができます。Edge Security Acceleration (ESA) では、さまざまなビジネス要件に合わせてこれらのルールを追加、変更、削除できます。
概要
クライアントがリソースをリクエストすると、リクエストはまず ESA に到達します。リクエストが ESA の POP (Point of Presence) でキャッシュミスした場合、ESA の POP は送信 HTTP リクエストヘッダーを含むオリジンリクエストをオリジンサーバーに送信してデータを取得します。必要に応じて、送信 HTTP リクエストヘッダーを調整できます。
注意事項
ルールの発効タイミング:この機能は、リクエストが ESA の POP でキャッシュミスし、オリジンフェッチ中にオリジンサーバーからコンテンツを取得する必要がある場合にのみトリガーされます。キャッシュヒットして ESA の POP から直接提供されるリクエストに対しては、ルールは実行されません。
実行順序: 1 つのルールに複数の操作が含まれている場合、それらの操作は上から下に順次実行されます。複数の操作が同じリクエストヘッダーを対象とする場合、最後の操作が前の操作の結果を上書きします。たとえば、元のクライアントリクエストにヘッダー
test:123が含まれており、最初にヘッダーtest:321を追加し、次にヘッダーtestを削除するようにルールが設定されている場合、testヘッダーはオリジンリクエストから完全に削除されます。
操作手順
ルールを追加すると、ユーザーがリソースをリクエストした際に、ESA はルールの実行優先度に基づいてルールを順番に照合し、実行します。
ESA コンソールで、サイト管理 を選択し、サイト 列で対象のサイトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
Modify request header タブをクリックし、[ESA からオリジン] アイテムを選択して、ルールを追加 をクリックします。

Add Request Header Modification Rule エリアで、以下を設定します。
ルール名:カスタムルール名を入力します。
リクエストが以下のルールと一致する場合...:リクエストを照合するための条件を選択します。
すべてのリクエスト:ルールは現在のサイトのすべてのリクエストに適用されます。
カスタムルール:ルールはカスタム式に一致するトラフィックにのみ適用されます。トラフィックをフィルタリングするためのカスタム式を設定します。
Modify Request Header: 一致するリクエストに適用する操作です。
操作
タイプ
説明
例
追加
静的
指定されたリクエストヘッダーをオリジンリクエストに追加します。
クライアントリクエストに同じ名前のヘッダーがすでに含まれている場合、新しいヘッダーが既存のヘッダーを上書きします。
名前を
x-code、値をkey1としてリクエストヘッダーを追加するには、以下を入力します。リクエストヘッダー名:
x-codeリクエストヘッダー値:
key1
動的
ヘッダー値は式に設定できます。
クライアントの送信元 IP アドレスを記録するように、
True-Client-IPという名前で値がip.srcのリクエストヘッダーを追加するには、次のように入力します。リクエストヘッダー名:
True-Client-IPリクエストヘッダー値:
ip.src
変更
静的
オリジンリクエスト内の指定されたリクエストヘッダーの値を変更します。
オリジンリクエストのリクエストヘッダー
x-codeの値をkey2に変更するには、以下を入力します。リクエストヘッダー名:
x-codeリクエストヘッダー値:
key2
動的
ヘッダー値は式に設定できます。
オリジンリクエストで、
True-Client-IPという名前のリクエストヘッダーの値を、クライアントの送信元 IP アドレスであるip.srcに変更するには、次のように入力します。リクエストヘッダー名:
True-Client-IPリクエストヘッダー値:
ip.src
削除
重複するヘッダーパラメーターがあるかどうかに関係なく、指定されたリクエストヘッダー名に一致するすべてのヘッダーをオリジンリクエストから削除します。
x-codeという名前のリクエストヘッダーを削除するには、リクエストヘッダー名 にx-codeを入力します。
説明ali-またはAli-で始まる リクエストヘッダー名 は設定しないでください。リクエストヘッダー値 に複数の値を設定するには、カンマ (
,) で区切ります。削除操作は、静的パターンと動的パターンの両方で同じです。
変更操作は既存のヘッダーを変更します。この操作は、元のリクエストに指定された名前のヘッダーが存在する場合にのみ適用されます。
1 つのルール内で、複数の操作が順番に実行されます。異なる操作が同じヘッダー名を対象とする場合、最後の操作が前の操作を上書きします。
式の設定例
クライアントの送信元 IP アドレスの追加
利用シーン
すべての受信リクエストに対して、クライアントの送信元 IP アドレスを記録するリクエストヘッダーを追加します。
操作手順
ESA コンソールで、サイト管理 を選択し、サイト 列で対象のサイトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
Modify request header タブをクリックし、[ESA からオリジン] アイテムを選択して、ルールを追加 をクリックします。

Add Request Header Modification Rule セクションで、次のパラメーターを指定します。
ルール名:
add-client-ip-outなどのカスタムルール名を入力します。リクエストが以下のルールと一致する場合...:すべてのリクエスト を選択します。これにより、ルールが現在のサイトのすべてのリクエストに適用されます。
Modify Request Header:
タイプ: 動的
操作:追加
リクエストヘッダー名:
True-Client-IP-OUTリクエストヘッダー値:
ip.src

検証
設定前:リクエストヘッダーには、クライアントの送信元 IP アドレスは含まれていません。

構成後: クライアントの送信元 IP アドレスを含む true-client-ip-out ヘッダーがリクエストヘッダーに追加されます。

クライアントの IP アドレスに対応する国別コードの追加
利用シーン
中国 (香港) 以外から発信されたすべてのリクエストに対して、クライアントの IP アドレスに対応する国別コードを記録するリクエストヘッダーを追加します。
操作手順
ESA コンソールで、サイト管理 を選択し、サイト 列で対象のサイトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
Modify request header タブをクリックし、[ESA からオリジン] アイテムを選択して、ルールを追加 をクリックします。

Add Request Header Modification Rule セクションで、次のパラメーターを指定します。
ルール名:
add-client-countryなどのカスタムルール名を入力します。リクエストが以下のルールと一致する場合...: カスタムルール を選択し、
Country/Region does not equal China (Hong Kong)を入力します。式を直接編集することもできます:
(ip.geoip.country ne "HK")Modify Request Header:
タイプ:動的
操作:追加
リクエストヘッダー名:
IP-Country-Codeリクエストヘッダー値:
ip.geoip.country

検証
設定前:リクエストヘッダーには、クライアントの IP アドレスに対応する国情報は含まれていません。

設定後:クライアントの IP アドレスに対応する国別コードを含む ip-country-code ヘッダーがリクエストヘッダーに追加されます。

クライアントの IP アドレスに対応する都道府県コードの追加
利用シーン
URI パスが /content のリクエストに、クライアントの IP アドレスに対応する都道府県コードを記録するリクエストヘッダーを追加します。
操作手順
ESA コンソールで、サイト管理 を選択し、サイト 列で対象のサイトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
Modify request header タブをクリックし、[ESA からオリジン] アイテムを選択して、ルールを追加 をクリックします。

Add Request Header Modification Rule セクションで、次のパラメーターを指定します。
ルール名:
add-client-provinceのようなカスタムルール名を入力します。リクエストが以下のルールと一致する場合...: カスタムルール を選択し、
URI Path equals /contentを入力します。式を直接編集することもできます:
(http.request.uri.path eq "/content")Modify Request Header:
タイプ: 動的
操作: 追加
リクエストヘッダー名:
IP-Province-Codeリクエストヘッダー値:
ip.src.subdivision_1_iso_code

検証
設定前:リクエストヘッダーには、クライアントの IP アドレスに対応する都道府県情報は含まれていません。

設定後:クライアントの IP アドレスに対応する都道府県コードを含む ip-province-code ヘッダーがリクエストヘッダーに追加されます。

関連ドキュメント
ルール関連の機能は、実行優先度、ルールの動作、設定範囲が異なります。詳細については、「ESA ルールの発効方法」をご参照ください。