すべてのプロダクト
Search
ドキュメントセンター

Edge Security Acceleration:送信レスポンスヘッダーの変更

最終更新日:Mar 01, 2026

Edge Security Acceleration (ESA) の POP (Point of Presence) からの送信レスポンスヘッダーは、HTTP レスポンスメッセージヘッダーの一部です。特定のレスポンスパラメーターを伝送し、クライアントに渡します。ESA POP の送信レスポンスヘッダーを設定して、リソースが返される際のレスポンスヘッダーを制御できます。ESA では、さまざまなビジネスニーズに合わせて、送信レスポンスヘッダールールを追加、変更、削除できます。

概要

クライアントがリソースをリクエストすると、リクエストはまず ESA に到達します。リソースが ESA POP キャッシュに見つからない場合、ESA はオリジンサーバーにオリジンリクエストを送信してデータを取得します。オリジンサーバーがデータを返した後、ESA POP は設定されたレスポンスヘッダールールに基づいて元のレスポンスを変更します。たとえば、特定のフィールドを追加、置換、または削除できます。最後に、ESA は変更されたレスポンスヘッダーを含む完全なリソースをクライアントに返します。これにより、クロスドメインのアクセス制御、キャッシュポリシーの最適化、その他のビジネス要件を実装できます。

image

利用シーン

  • クライアントに ESA 応答ファイルのリソースタイプを通知する:たとえば、Content-Type: text/html レスポンスヘッダーを追加できます。これにより、クライアントは ESA 応答ファイルが HTML 形式であることを認識し、正しくレンダリングできます。

  • オリジン間リソースアクセスを有効にする:ユーザーが ESA 上のドメイン名からリソースをリクエストする場合、ESA からの応答メッセージに Access-Control-Allow-Origin レスポンスヘッダーを設定できます。これにより、オリジン間のアクセスが可能になります。詳細については、「オリジン間リソース共有の設定」をご参照ください

  • レスポンスの動作をカスタマイズする:カスタムヘッダーを追加または変更して、クライアントが受信するレスポンスのコンテンツと形式を調整できます。これにより、特定の機能を実装したり、追跡目的で使用したりできます。

注意事項

複数のルールを追加した場合、ルールリストの上から順に実行されます。同じレスポンスヘッダー名を持つ後続のルールによって、前のルールは上書きされます。これにより、予期しない結果が生じる可能性があります。

例 1

  • 応答メッセージにレスポンスヘッダー test:123 が含まれています。

  • レスポンスヘッダー test:321 を設定するルールが追加されます。

応答メッセージがルールにヒットした場合、元のレスポンスヘッダー test:123test:321 に上書きされます。

例 2

  • 応答メッセージにレスポンスヘッダー test:123 が含まれています。

  • レスポンスヘッダー test:321 を設定するルールが追加されます。その後、test レスポンスヘッダーを削除する別のルールが設定されます。

応答メッセージがルールにヒットした場合、元のレスポンスヘッダー test:123 は削除されます。

操作手順

ルールを追加すると、ユーザーがリソースをリクエストした際に、ESAルールの実行優先度に基づいてルールを順次照合し、実行します。

  1. ESA コンソールで、サイト管理 を選択します。サイト 列で、対象のサイトをクリックします。

  2. 左側のナビゲーションウィンドウで、ルール > 変換ルール を選択します。

  3. Modify Response Header タブを選択し、[ESA からクライアント] セクションをクリックしてから、ルールを追加 をクリックします。image

  4. ルールを追加 をクリックしますリクエストが以下のルールと一致する場合... セクションで、一致させるユーザーリクエストの特徴を設定します。ルールの設定方法の詳細については、「ルール式の構成要素」をご参照ください。

  5. Modify Response Header セクションで、操作 を選択し、レスポンスヘッダー名レスポンスヘッダー値 を入力し、OK をクリックします。

    操作

    タイプ

    説明

    [追加]

    静的

    • 指定されたレスポンスヘッダーをクライアントに送信されるレスポンスに追加します。

    • レスポンスヘッダーに同じ名前のヘッダーがすでに含まれている場合、新しいヘッダーが既存のヘッダーを上書きします。

    名前が x-code、値が key1 のレスポンスヘッダーを追加するには、次のように指定します:

    • レスポンスヘッダー名x-code

    • レスポンスヘッダー値key1

    動的

    レスポンスヘッダーの値はに設定できます。

    クライアント IP アドレスの国またはリージョンを記録するために、名前が Client-Ip-Geo-Location、値が ip.geoip.country のレスポンスヘッダーを追加するには、次のように指定します:

    • レスポンスヘッダー名Client-Ip-Geo-Location

    • レスポンスヘッダー値ip.geoip.country

    変更

    静的

    クライアントに送信されるレスポンス内の指定されたレスポンスヘッダーの値を変更します。

    名前が x-code のレスポンスヘッダーの値を key2 に変更するには、次のように指定します:

    • レスポンスヘッダー名x-code

    • レスポンスヘッダー値: key2

    動的

    レスポンスヘッダーの値はに設定できます。

    名前が Client-Ip-Geo-Location のレスポンスヘッダーの値を ip.geoip.country に変更し、ヘッダーの値をクライアント IP アドレスの国またはリージョンに変更するには、次のように指定します:

    • レスポンスヘッダー名: Client-Ip-Geo-Location

    • レスポンスヘッダー値ip.geoip.country

    削除

    重複するレスポンスヘッダーパラメーターの有無にかかわらず、レスポンスヘッダー名 に一致するすべてのパラメーター値を、クライアントに送信されるレスポンスから削除します。

    名前が x-code のレスポンスヘッダーを削除するには、レスポンスヘッダー名x-code を指定します。

    説明
    • ali-inner または ali-swift で始まる レスポンスヘッダー名 を設定しないでください。

    • レスポンスヘッダー値 フィールドに複数の値を設定できます。カンマ (,) で区切ります。

    • 削除操作は、静的スキーマと動的スキーマの両方で同じように機能します。

    • 変更操作は、既存のレスポンスヘッダーを変更します。この操作は、元のレスポンスに指定された名前のレスポンスヘッダーが存在する場合にのみ有効になります。

設定例

説明

OSS をオリジンサーバーとして使用し、OSS と ESA の両方のコンソールで CORS を設定した場合、ESA の設定が OSS の CORS 設定を上書きします。

すべてのリクエストへの適用

利用シーン

この利用シーンでは、example.com などの現在のサイトからのすべてのリクエストが、他のすべてのオリジンからのリソースにアクセスできるようになります。

手順

  1. ESA コンソールで、サイト管理 を選択します。サイト 列で、対象のサイトをクリックします。

  2. 左側のナビゲーションウィンドウで、ルール > 変換ルール を選択します。変換ルール ページで、レスポンスヘッダーの変更 タブをクリックします。レスポンスヘッダーの位置を [ESA からクライアント] に設定し、ルールを追加 ボタンをクリックします。image

  3. レスポンスヘッダー変更ルールの追加 ページで、パラメーターを次のように設定します:

    1. ルール名rule-cors-for-all などのカスタムルール名を入力します。

    2. リクエストが以下のルールと一致する場合...:クライアントリクエストをフィルターするルール条件を設定します。この例では、すべてのリクエスト を選択します。

    3. 以下を実行する...:レスポンスヘッダーを変更する操作を設定します。この例では、次のパラメーターを設定します:

      • タイプ: 静的 を選択します。

      • 操作追加 を選択します。

      • レスポンスヘッダー名Access-Control-Allow-Origin を入力します。

      • レスポンスヘッダー値* を入力します。

    image

結果

オリジン間リクエストに対して、ESA はレスポンスに Access-Control-Allow-Origin: * ヘッダーを追加します。ブラウザはレスポンスを処理し、オリジン間リソースを表示できます。

image

特定のリクエストへの適用

利用シーン

この利用シーンは、クライアントリクエストの origin ヘッダーの値が example.com のサブドメインである場合に適用されます。HTTP と HTTPS の両方のプロトコルをサポートします。たとえば、次のオリジンに対してオリジン間アクセスが許可されます:

  • origin:http://www.example.com

  • origin:https://www.example.com

  • origin:http://image.example.com

  • origin:https://image.example.com

レスポンスに CORS ヘッダーを追加します。CORS レスポンスヘッダーの値は、リクエストの origin ヘッダーの値と同じでなければなりません。

設定手順

  1. ESA コンソールで、サイト管理 を選択します。サイト 列で、対象のサイトをクリックします。

  2. 左側のナビゲーションウィンドウで、ルール > 変換ルール を選択します。変換ルール ページで、レスポンスヘッダーの変更 タブをクリックします。レスポンスヘッダーの位置を [ESA からクライアント] に設定し、ルールを追加 ボタンをクリックします。image

  3. レスポンスヘッダー変更ルールの追加 ページで、パラメーターを次のように設定します:

    1. ルール名rule-cors-origin などのカスタムルール名を入力します。

    2. リクエストが以下のルールと一致する場合...:クライアントリクエストをフィルターするルール条件を設定します。これにより、特定の基準を満たすリクエストに対してのみ操作が実行されるようになります。この例では、条件を ヘッダー [オリジンの値] 正規表現と一致する: ^https?://(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+example\.com$ に設定します。

      式を直接編集することもできます:(http.request.headers["origin"] matches "^https?://(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+example\.com$")
      説明

      ご利用のプランが正規表現による照合をサポートしていない場合は、いずれかに等しい オペレーターを使用し、許可するオリジンヘッダーの値をリストアップします。

      式を直接編集することもできます:(http.request.headers["origin"] in {"http://www.example.com" "https://www.example.com" "http://image.example.com" "https://image.example.com"})

      image

    3. 以下を実行する...:レスポンスヘッダーを変更する操作を設定します。この例では、次のパラメーターを設定します:

      • タイプ: 動的 を選択します。

      • 操作追加 を選択します。

      • レスポンスヘッダー名Access-Control-Allow-Origin を入力します。

      • レスポンスヘッダー値http.request.headers["origin"] を入力します。

    image

結果

オリジン間リクエストが行われた際、リクエストの origin ヘッダーがルールに一致する場合、ESA はレスポンスに Access-Control-Allow-Origin ヘッダーを追加します。このヘッダーの値は、クライアントリクエストの Origin ヘッダーの値と同じです。ブラウザはレスポンスを処理し、オリジン間リソースを表示できます。

image

レスポンスヘッダーパラメーターの説明

レスポンスヘッダーパラメーター

説明

カスタム

カスタムレスポンスヘッダーを追加できます。カスタムレスポンスヘッダー名は、次の要件を満たす必要があります:

  • 大文字、小文字、ハイフン (-)、数字で構成されます。

  • 長さは 1~100 文字です。

Test-Header

Cache-Control

クライアントプログラムのリクエストとレスポンスが従うべきキャッシュ機構を指定します。

no-cache

Content-Disposition

クライアントプログラムがリクエストされたコンテンツをファイルとして保存する際のデフォルトのファイル名を指定します。

examplefile.txt

Content-Type

クライアントプログラムに対してレスポンスオブジェクトのコンテンツタイプを指定します。

text/plain

Pragma

Pragma は HTTP/1.0 で定義された一般ヘッダーです。このヘッダーは通常、サーバーのレスポンスで使用され、ファイルのクライアントのキャッシュ動作を定義します。

no-cache

Access-Control-Allow-Origin

どのオリジンがリソースにアクセスできるかを指定します。これは、オリジン間リソース共有 (CORSCross-Origin Resource Sharing) メカニズムの一部であり、サーバーがそのリソースが指定されたオリジンドメイン名からアクセスできるかどうかを宣言できるようにします。このレスポンスヘッダーの値は、次のタイプをサポートします:

  • ワイルドカード *:ワイルドカードを使用して、任意のオリジンがリソースにアクセスできるようにします。この方法は非常に緩やかで、認証や権限付与なしでアクセスできるパブリックリソースに適しています。ただし、クロスサイトリクエストフォージェリ (CSRF) 攻撃などのセキュリティリスクを引き起こす可能性があるため、本番環境ではワイルドカードを慎重に使用してください。

  • 単一の指定オリジン:特定のオリジンドメイン名を指定して、そのオリジンのみがリソースにアクセスできるようにすることができます。たとえば、http://example.comhttps://api.example.com などです。これにより、リクエストが指定されたオリジンから来る必要があります。それ以外の場合は拒否されます。

  • *

  • http://www.aliyun.com

Access-Control-Allow-Methods

クロスオリジンリクエストで許可されるメソッドを指定します。複数のメソッドはカンマ (,) で区切ります。

POST,GET

Access-Control-Allow-Headers

クロスオリジンリクエストで許可されるフィールドを指定します。

X-Custom-Header

Access-Control-Expose-Headers

アクセス可能なカスタムヘッダーを指定します。

Content-Length

Access-Control-Allow-Credentials

このレスポンスヘッダーは、リクエストへのレスポンスをページに公開できるかどうかを示します。

  • true:レスポンスを公開できます。

  • その他の値:レスポンスを公開できません。

true

Access-Control-Max-Age

クライアントプログラムに対して、特定のリソースのプリフライトリクエスト結果のキャッシュ期間を秒単位で指定します。

600

参考

ルール関連の機能は、実行優先度ルールの動作設定範囲が異なります。詳細については、「ESA ルールの有効化の仕組み」をご参照ください。