ユースケース:コンテンツを動的に取得および更新するための ESI サポート

最終公開日 : Sep 25, 2026
エッジサイドインクルード (ESI) は、エッジレベルの動的 Web コンテンツアセンブリのマークアップ言語です。これは、ネットワークエッジで集約、組み立て、および配信できるキャッシュ可能およびキャッシュ不可能なWebページコンポーネントを記述するための簡単なマークアップ言語を定義することによって、動的なWebベースのアプリケーションを高速化するのに役立ちます。Citrix ADCアプライアンスでHTTPコールアウトを使用すると、ESIコンストラクトを読み取り、コンテンツを動的に集約またはアセンブルできます。
この設定を実装するには、次のタスクを実行する必要があります。
  1. Citrix ADCアプライアンスで書き換えを有効にします。
  2. アプライアンスで HTTP コールアウトを作成し、外部サーバーの詳細およびその他の必須パラメータを使用して設定します。
  3. ESI コンテンツをコールアウト応答本文に置き換えるように書き換えアクションを設定します。
  4. リライトポリシーを設定してアクションが実行される条件を指定し、リライトポリシーをグローバルにバインドします。
Related information

書き換えの有効化

Citrix ADCアプライアンスでリライトを使用する前に、リライトを有効にする必要があります。次の手順では、書き換え機能を有効にする手順について説明します。

GUI を使用して書き換えを有効にするには

  1. 書き換えライセンスがインストールされていることを確認します。
  2. 構成ユーティリティで、AppExpert を展開し、\[書き換え\] を右クリックし、\[書き換え機能を有効にする\] をクリックします。

Citrix ADCアプライアンスでのHTTPコールアウトの作成

HTTP コールアウトの作成の詳細については、「HTTP コールアウトの設定」を参照してください。 パラメータ値の詳細については、 http-Callout-2 pdf のパラメータと値を参照してください 。

書き換えアクションの設定

書き換えアクション Action-Rewrite-1 を作成して、ESI コンテンツをコールアウト応答本文に置き換えます。次の表に示すパラメータ設定を使用します。
表2. アクション書き換え 1 のパラメータと値
パラメーター 値
名前 Action-Rewrite-1
種類 置換
ターゲットテキスト参照を選択する式 "HTTP.RES.BODY(500).AFTER_STR (\" <example>\").BEFORE_STR (\"</example>\")"
置換テキストの文字列式 "SYS.HTTP_CALLOUT(HTTP-Callout-2)"

構成ユーティリティを使用して書き換えアクションを構成するには

  1. AppExpert > 書き換え > アクションに移動します。
  2. 詳細ペインで、[Add] をクリックします。
  3. \[書き換えアクションの作成\] ダイアログボックスの \[名前\] に「 Action-Rewrite-1 」と入力します。
  4. 「タイプ」で「 置き換え」を選択します。
  5. 「 式 」で、ターゲットテキスト参照を選択するには、次のデフォルトの構文式を入力します。
    "HTTP.RES.BODY(500).AFTER_STR("<example>").BEFORE_STR("<example>")"
  6. \[置換テキストの文字列式\] に、次の文字列式を入力します。
    "SYS.HTTP_CALLOUT(HTTP-Callout-2)"
  7. [Create] をクリックしてから、[Close] をクリックします。

書き換えポリシーの作成とグローバルなバインド

次の表に示すパラメータ設定を使用して、書き換えポリシー Policy-Rewrite-1 を作成します。 \[ポリシー\] サブノードで書き換えポリシーを作成し、 書き換えポリシーマネージャを使用してグローバルにバインドできます。または、 書き換えポリシーマネージャを使用して、これらのタスクを同時に実行することもできます。このデモでは、 書き換えポリシーマネージャを使用して両方のタスクを実行します。
表3. ポリシーリライト 1 のパラメータと値
パラメーター 値
名前 Policy-Rewrite-1
操作(アクション) Action_Rewrite-1
未定義の結果アクション -Global undefined-result action-
式 "HTTP.REQ.HEADER("Name").CONTAINS ("Callout").NOT"

構成ユーティリティを使用して書き換えポリシーを構成し、グローバルにバインドするには

  1. \[AppExpert\] > \[書き換え\] に移動します。
  2. 詳細ペインの \[ポリシーマネージャー\] で、\[ポリシーマネージャーの****書き換え\] をクリックします。
  3. \[ポリシーマネージャを書き換え\] ダイアログボックスで、\[グローバルに上書き\] をクリックします。
  4. \[ポリシーの挿入\] をクリックし、\[ポリシー名\] 列の \[新しいポリシー\] をクリックします。
  5. \[書き換えポリシーの作成\] ダイアログボックスで、次の操作を行います。1 . \[名前\] に「Policy-Rewrite-1」と入力します。
    1. 「アクション」で、「アクション-書き換え-1」を選択します。
    2. \[ 未定義の結果のアクション\]で、\[ グローバルな未定義の 結果のアクション\]を選択します。
    3. \[式\]に、次の既定の構文式を入力します。
    "HTTP.REQ.HEADER("Name").CONTAINS("Callout").NOT"
    1. [Create] をクリックしてから、[Close] をクリックします。
  6. \[ 変更を適用\]をクリックし、\[ 閉じる\]をクリックします。