ADC

Caso de uso: compatibilidad con ESI para obtener y actualizar contenido de forma dinámica

Edge Side Includes (ESI) es un lenguaje de marcado para el ensamblaje de contenido web dinámico de nivel perimetral. Ayuda a acelerar las aplicaciones dinámicas basadas en Web mediante la definición de un lenguaje de marcado sencillo para describir los componentes de páginas web que se pueden almacenar en caché y no se pueden almacenar en caché que se pueden agregar, ensamblar y entregar en el perímetro de la red. Al utilizar las llamadas HTTP en el dispositivo NetScaler, puede leer las construcciones de ESI y agregar o ensamblar contenido de forma dinámica.

Para implementar esta configuración, debe realizar las siguientes tareas:

  1. Habilite la reescritura en el dispositivo NetScaler.
  2. Cree una llamada HTTP en el dispositivo y configúrela con detalles sobre el servidor externo y otros parámetros necesarios.
  3. Configure una acción de reescritura para reemplazar el contenido ESI por el cuerpo de respuesta de llamada.
  4. Configure una directiva de reescritura para especificar las condiciones en las que se realiza la acción y, a continuación, vincule la directiva de reescritura de forma global.

Habilitar la reescritura

La reescritura debe estar habilitada antes de utilizarla en el dispositivo NetScaler. En el procedimiento siguiente se describen los pasos para habilitar la función de reescritura.

Para habilitar la reescritura mediante la interfaz gráfica de usuario

  1. Asegúrese de haber instalado la licencia de reescritura.
  2. En la utilidad de configuración, expanda AppExpert, haga clic con el botón secundario en Reescribir y, a continuación, haga clic en Habilitar función de reescritura.

Crear una llamada HTTP en el dispositivo NetScaler

Para obtener más información sobre cómo crear una llamada HTTP, consulte Configuración de una llamada HTTP. Para obtener más información sobre los valores de los parámetros, consulte Parámetros y valores para HTTP-Callout-2 pdf.

Configuración de la acción de reescritura

Cree una acción de reescritura, Action-Rewrite-1, para reemplazar el contenido ESI por el cuerpo de respuesta de la llamada. Utilice la configuración de parámetros que se muestra en la tabla siguiente.

Tabla 2. Parámetros y valores de Action-Rewrite-1

Parámetro Valor
Name Action-Rewrite-1
Tipo Reemplazar
Expresión para elegir la referencia de texto de destino “HTTP.RES.BODY(500).AFTER_STR (\” \”).BEFORE_STR (\”\”)”
Expresión de cadena para texto de sustitución “SYS.HTTP_CALLOUT(HTTP-Callout-2)”

Para configurar la acción de reescritura mediante la utilidad de configuración

  1. Vaya a AppExpert > Reescribir > Acciones.
  2. En el panel de detalles, haga clic en Agregar.
  3. En el cuadro de diálogo Crear acción de reescritura, en Nombre, escriba Action-Rewrite-1.
  4. En Tipo, seleccione REEMPLAZAR.
  5. En Expresión para elegir la referencia de texto de destino, escriba la siguiente expresión de directiva avanzada:

    "HTTP.RES.BODY(500).AFTER_STR("<example>").BEFORE_STR("<example>")"
    <!--NeedCopy-->
    
  6. En la expresión de cadena del texto de sustitución, escriba la siguiente expresión de cadena:

    "SYS.HTTP_CALLOUT(HTTP-Callout-2)"
    <!--NeedCopy-->
    
  7. Haga clic en Creary, a continuación, en Cerrar.

Creación de la directiva de reescritura y vinculación global

Cree una directiva de reescritura, Policy-Rewrite-1, con la configuración de parámetros que se muestra en la tabla siguiente. Puede crear una directiva de reescritura en el subnodo Directivas y, a continuación, enlazarla globalmente mediante el Administrador de directivas de reescritura. Alternativamente, puede utilizar el Administrador de directivas de reescritura para realizar ambas tareas simultáneamente. En esta demostración se utiliza el Administrador de directivas de reescritura para realizar ambas tareas.

Tabla 3. Parámetros y valores de Policy-Rewrite-1

Parámetro Valor
Name Policy-Rewrite-1
Acción Action_Rewrite-1
Acción de resultado indefinido -Acción global de resultados indefinidos-
Expresión “HTTP.REQ.HEADER(“Name”).CONTAINS (“Callout”).NOT”

Para configurar una directiva de reescritura y vincularla de forma global mediante la utilidad de configuración

  1. Vaya a AppExpert > Reescribir.
  2. En el panel de detalles, en Policy Manager, haga clic en Reescribir Policy Manager.
  3. En el cuadro de diálogo Reescribir Policy Manager, haga clic en Anular global.
  4. Haga clic en Insertar directivay, a continuación, en la columna Nombre de la directiva, haga clic en Nueva directiva.
  5. En el cuadro de diálogo Crear directiva de reescritura, haga lo siguiente: 1.En Nombre, escriba Policy-Rewrite-1.
    1. En Acción, seleccione Action-Rewrite-1.
    2. En Acción de resultado no definido, seleccione Acciónglobal de resultado indefinido .
    3. En Expresión, escriba la siguiente expresión de directiva avanzada:
    "HTTP.REQ.HEADER("Name").CONTAINS("Callout").NOT"
    <!--NeedCopy-->
    
    1. Haga clic en Creary, a continuación, en Cerrar.
  6. Haga clic en Aplicar cambiosy, a continuación, en Cerrar.
Caso de uso: compatibilidad con ESI para obtener y actualizar contenido de forma dinámica