ユースケース:コンテンツを動的に取得および更新するための ESI サポート
Edge Side Inincludes (ESI) は、エッジレベルの動的 Web コンテンツアセンブリのマークアップ言語です。ネットワークエッジで集約、組み立て、配信できるキャッシュ可能およびキャッシュ不可能なWebページコンポーネントを記述する単純なマークアップ言語を定義することにより、動的なWebベースのアプリケーションを高速化するのに役立ちます。NetScalerアプライアンスでHTTPコールアウトを使用すると、ESI構成を読み取り、コンテンツを動的に集約またはアセンブルできます。
この設定を実装するには、次のタスクを実行する必要があります。
- NetScalerアプライアンスでリライトを有効にします。
- アプライアンスで HTTP コールアウトを作成し、外部サーバの詳細およびその他の必須パラメータを使用して設定します。
- ESI コンテンツをコールアウトレスポンス本文に置き換える書き換えアクションを設定します。
- リライトポリシーを設定して、アクションが実行される条件を指定し、リライトポリシーをグローバルにバインドします。
書き換えを有効にする
NetScalerアプライアンスで使用する前に、書き換えを有効にする必要があります。次の手順では、書き換え機能を有効にする手順について説明します。
GUI を使用して書き換えを有効にするには
- 書き換えライセンスがインストールされていることを確認します。
- 構成ユーティリティで、[AppExpert] を展開し、[書き換え] を右クリックし、[書き換え機能の有効化] をクリックします。
NetScalerアプライアンスでのHTTPコールアウトの作成
HTTP コールアウトの作成の詳細については、「HTTP コールアウトの設定」を参照してください。 パラメータ値の詳細については、 http-Callout-2 pdf のパラメータと値を参照してください 。
書き換えアクションの設定
書き換えアクション Action-Rewrite-1 を作成し、ESI コンテンツをコールアウトレスポンス本文に置き換えます。次の表に示すパラメータ設定を使用します。
表2. アクションリライト-1 のパラメータと値
| パラメーター | 値 |
|---|---|
| 名前 | Action-Rewrite-1 |
| 種類 | 置換 |
| ターゲットテキスト参照を選択する式 | “HTTP.RES.BODY(500).AFTER_STR (\” |
| 置換テキストの文字列式 | “SYS.HTTP_CALLOUT(HTTP-Callout-2)” |
構成ユーティリティを使用して書き換えアクションを構成するには
- AppExpert> **リライト > アクションに移動します 。**
- 詳細ウィンドウで、[ 追加] をクリックします。
- [ 書き換えアクションの作成 ] ダイアログボックスの [名前] に Action-Rewrite-1と入力します。
- 「タイプ」で「 置換」を選択します。
-
[ ターゲットテキスト参照を選択する式 ] に、次の高度なポリシー式を入力します。
"HTTP.RES.BODY(500).AFTER_STR("<example>").BEFORE_STR("<example>")" <!--NeedCopy--> -
置換テキストの [文字列式] に、次の文字列式を入力します。
"SYS.HTTP_CALLOUT(HTTP-Callout-2)" <!--NeedCopy--> - [ 作成] をクリックし、[ 閉じる] をクリックします。
書き換えポリシーを作成してグローバルにバインドする
次の表に示すパラメータ設定を使用して、書き換えポリシー Policy-Rewrite-1 を作成します。[Policies] サブノードで書き換えポリシーを作成し、 書き換えポリシーマネージャを使用してグローバルにバインドできます。または、 書き換えポリシーマネージャを使用して、これらの両方のタスクを同時に実行することもできます。このデモでは、 Rewrite Policy Manager を使用して両方のタスクを実行します。
表3. ポリシー書き換え-1 のパラメータと値
| パラメーター | 値 |
|---|---|
| 名前 | Policy-Rewrite-1 |
| アクション | Action_Rewrite-1 |
| 未定義の結果アクション | -グローバル未定義の結果アクション- |
| 式 | “HTTP.REQ.HEADER(“Name”).CONTAINS (“Callout”).NOT” |
構成ユーティリティを使用して書き換えポリシーを構成し、グローバルにバインドするには
- AppExpert > [ 書き換え] に移動します。
- 詳細ペインの [ポリシーマネージャ] で、[ **ポリシーマネージャの書き換え**] をクリックします。
- [ ポリシーマネージャの書き換え ] ダイアログボックスで、[ グローバルを上書き] をクリックします。
- [ ポリシーの挿入] をクリックし、[ ポリシー名 ] 列の [ 新しいポリシー] をクリックします。
- [ 書き換えポリシーの作成 ] ダイアログボックスで、次の操作を行います。1 . [名前] に「Policy-Rewrite-1」と入力します。
- [アクション] で、[アクション-書き換え-1] を選択します。
- 「 未定義の結果アクション」で、「 グローバル未定義の結果アクション 」を選択します。
- [ 式] に、次の高度なポリシー式を入力します。
"HTTP.REQ.HEADER("Name").CONTAINS("Callout").NOT" <!--NeedCopy-->- [ 作成] をクリックし、[ 閉じる] をクリックします。
- [ 変更を適用] をクリックし、[ 閉じる] をクリックします。