ヘッダーの挿入および削除ポリシー

API Manager は、要求または応答に対して HTTP ヘッダーを挿入または削除するいくつかのポリシーをサポートしています。ポリシーは、要求または応答を送信する前に有効になります。

要求ヘッダー追加ポリシーは、クライアントからバックエンドサービスへの要求に 1 つ以上のヘッダーを挿入するか、既存のヘッダーの値を上書きします。 要求ヘッダー削除ポリシーは、指定した 1 つ以上のヘッダーがクライアントからバックエンドサービスに送信された場合に、その受信を防止します。

応答ヘッダー追加ポリシーは、バックエンドサービスからの応答に 1 つ以上のヘッダーを挿入するか、バックエンドサービスからの応答のヘッダー値を上書きします。 応答ヘッダー削除ポリシーは、バックエンドサービスからクライアントへの応答に、指定した 1 つ以上のヘッダーが含まれることを防止します。

ヘッダーポリシーを使用するための前提条件は、次のとおりです。

  • 組織のシステム管理者ロール、または Anypoint Platform で管理する API バージョンの API バージョン所有者ロール。ポリシーの適用は、API バージョン管理タスクです。

  • API Manager 機能 (Mule 3.8.x Runtime) または API ゲートウェイランタイム 2.x を使用するライセンス。

ヘッダー追加または削除ポリシーのダウンロード

現在、ヘッダー追加または削除ポリシーは、Anypoint Exchange で入手できます。ステップごとの手順に従って、これらのポリシーをダウンロード、セットアップ、適用します。

ヘッダーポリシーをダウンロードする手順は、次のとおりです。

  1. Anypoint Platform にログインし、[Exchange] に移動します。

  2. ポリシーを検索してダウンロードするか、次の URL を使用します。

    • 要求ヘッダーの追加ポリシー

      https://www.anypoint.mulesoft.com/exchange/?search=Add%20Request%20Headers%20Policy

    • 要求ヘッダーの削除ポリシー

      https://www.anypoint.mulesoft.com/exchange/?search=Remove%20Request%20Headers%20Policy

    • 応答ヘッダーの追加ポリシー

      https://www.anypoint.mulesoft.com/exchange/?search=Add%20Response%20Headers%20Policy

    • 応答ヘッダーの削除ポリシー

      https://www.anypoint.mulesoft.com/exchange/?search=Remove%20Response%20Headers%20Policy

  3. 各ポリシーのアーカイブを展開します。

アーカイブを展開すると、作成された各フォルダに XML ファイルと YAML ファイルが表示されます。たとえば、add-request-header-policy フォルダには次のファイルが含まれます。

  • add-request.xml

  • add-request.yaml

これらのファイルを使用して、後で説明されているようにポリシーをセットアップします。

ヘッダーポリシーのセットアップと適用

Anypoint Platform でカスタムポリシーを設定する場合のプロセスは、ヘッダーの追加または削除ポリシーと基本的に同じです。次の手順は、Anypoint Platform でポリシーをセットアップし、適用する方法を示しています。

ヘッダーポリシーをセットアップする手順は、次のとおりです。

  1. [API Administration (API 管理)] メインページに移動します。

  2. メインメニュードロップダウンで、[Custom (カスタム)] ポリシーを選択します。(右上隅)

    [Custom Policies (カスタムポリシー)] に、API で使用できるカスタムポリシーがリストされます (ある場合)。

  3. [Add Custom Policy (カスタムポリシーを追加)] をクリックします。

  4. [Name (名前)] にポリシーの名前を入力します (​add request header policy​ など)。

  5. [Policy Definition (ポリシーの定義)] で [Choose File (ファイルを選択)] をクリックし、ダウンロードした YAML ファイルを見つけます (この例では ​add-request.yaml​)。

  6. [Policy Configuration (ポリシーの設定)] で、ダウンロードした XML ファイルを見つけます (たとえば ​add-request.xml​)。

  7. [Add (追加)] をクリックします。

    gw add custom pol

    ポリシー (この例では、要求ヘッダーの追加ポリシー) が [Custom Policies (カスタムポリシー)] ページに表示されます。

    gw custom pol list

要求/応答ヘッダー追加ポリシーの適用

要求ヘッダーの追加ポリシーの例を続行し、以下の手順に従って次のいずれかのポリシーを適用します。

  • 要求ヘッダーの追加ポリシー

  • 応答ヘッダーの追加ポリシー

要求ヘッダーの追加ポリシーまたは応答ヘッダーの追加ポリシーを適用する

  1. すでに API バージョンがデプロイ済みであることを前提として、[API Administration (API 管理)] ページでバージョンを選択します。

  2. API バージョンの詳細ページで、項目リストから [Policies (ポリシー)] を選択します。

    たとえば要求ヘッダー追加ポリシーが、[Available Policies (使用可能なポリシー)] に表示されます。

    クライアントまたは別のポリシーによりヘッダーがすでに提供されている場合、その値は、このポリシーで提供する値で上書きされます。

  3. [Apply (適用)] をクリックします。

    [Apply add request header policy (要求ヘッダー追加ポリシーの適用)] ダイアログボックスが表示されます。

  4. ヘッダーの名前と値を入力します。たとえば、左に「​extra-header​」、右に「​myvalue​」と入力します。

  5. 必要に応じて、ヘッダーの値に MEL 式を含めます。

    たとえば、ヘッダーテキストに次の式を含めて「user-agent」の名前を置き換えることができます。

    '#[message.inboundProperties['user-agent']]'

  6. gw apply pol plus icon をクリックします。

  7. 必要に応じて、同じ方法でヘッダーの名前と値をさらに追加し、[Apply (適用)] をクリックします。

    適用したポリシーが [Available Policies (使用可能なポリシー)] リストから [Applied Policies (適用済みポリシー)] リストに移動します。

要求/応答ヘッダー削除ポリシーの適用

以下の手順に従って次のいずれかのポリシーを適用します。

  • 要求ヘッダーの削除ポリシー

  • 応答ヘッダーの削除ポリシー

要求ヘッダーの削除ポリシーまたは応答ヘッダーの削除ポリシーを適用する

  1. バージョンページの一番下までスクロールし、項目リストから [Policies (ポリシー)] を選択します。

    ポリシー (この例では要求ヘッダー削除ポリシー) が、[Available Policies (使用可能なポリシー)] に表示されます。

    クライアントまたは別のポリシーによりヘッダーがすでに提供されている場合、その値は、このポリシーで提供する値で上書きされます。

  2. [Apply (適用)] をクリックします。

    [Apply remove request headers policy (要求ヘッダー削除ポリシーの適用)] ダイアログボックスが表示されます。

  3. 削除する各ヘッダーの名前をカンマで区切って入力します。

    同様の名前を使用するプロパティを削除するには、ワイルドカードを使用できます。たとえば、​foo-*​ を使用すると、foo-bar、foo-test を削除できます。

  4. [Apply (適用)] をクリックします。

    適用したポリシーが [Available policies (使用可能なポリシー)] リストから [Applied policies (適用済みポリシー)] リストに移動します。

ポリシー適用のテスト

ポリシーの実行をテストするには、このセクションの手順に従ってポリシーを適用し、curl (​curl​ ​http://localhost:8081 -vvv​ など) を使用してポリシーをテストします。

要求ヘッダー追加ポリシー

要求ヘッダーの追加または削除ポリシーのテスト手順は、バックエンドサービスで受信したヘッダーをログに記録する Mule アプリケーションが作成されていることを前提とします。

  1. 要求ヘッダーの追加ポリシーを適用し、前のセクションで説明されているようにヘッダーを追加します。

  2. curl を実行します。

  3. バックエンドサービスのログを参照し、ステップ 1 で設定した追加のヘッダー名と値が要求に含まれていることを確認します。

要求ヘッダー削除ポリシー

要求ヘッダーの削除ポリシーのテスト手順は、バックエンドサービスで受信したヘッダーをログに記録する Mule アプリケーションが作成されていることを前提とします。

  1. 要求ヘッダーの削除ポリシーを適用し、前のセクションで説明されているようにヘッダーを削除します。

  2. curl を実行します。

  3. ログを確認し、余分なヘッダーがバックエンドサービスにより除外されていることを確認します。

応答ヘッダー追加ポリシー

  1. curl を実行します。

  2. 応答を参照し、クライアントがどのヘッダーを受信しているかを確認します。

  3. 応答ヘッダーの追加ポリシーを適用し、応答をヘッダーに追加します。

  4. curl を再度実行します。

  5. 指定したヘッダーが受信されていることを確認します。

応答ヘッダー削除ポリシー

  1. curl を実行します。

  2. 応答を参照し、クライアントがどのヘッダーを受信しているかを確認します。

  3. 応答ヘッダーの削除ポリシーを適用し、応答をヘッダーから削除します。

  4. curl を再度実行します。

  5. 指定したヘッダーが削除されていることを確認します。

関連情報

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub