Citrix ADC

Caso de uso: Soporte ESI para recuperar y actualizar contenido dinámicamente

Edge Side Includes (ESI) es un lenguaje de marcado para ensamblado de contenido web dinámico a nivel de borde. Ayuda a acelerar las aplicaciones basadas en web dinámicas mediante la definición de un lenguaje de marcado simple para describir los componentes de páginas web en caché y no en caché que se pueden agregar, ensamblar y entregar en el borde de la red. Mediante el uso de llamadas HTTP en el dispositivo Citrix ADC, puede leer las construcciones ESI y agregar o ensamblar contenido dinámicamente.

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

  1. Habilite la reescritura en el dispositivo Citrix ADC.
  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 con 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 globalmente.

Habilitar la reescritura

La reescritura debe estar habilitada antes de usarla en el dispositivo Citrix ADC. El siguiente procedimiento describe 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 la función de reescritura.

Crear una llamada HTTP en el dispositivo Citrix ADC

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 el pdf Parámetros y valores para HTTP-Callout-2.

Configuración de la acción de reescritura

Cree una acción de reescritura, Acción-Reescritura 1, para reemplazar el contenido ESI con el cuerpo de respuesta de llamada. Utilice los parámetros que se muestran en la tabla siguiente.

Tabla 2. Parámetros y valores para acción-Reescritura 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 (“ <example> “).BEFORE_STR (“ </example> “)”
Expresión de cadena para texto de reemplazo “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 REPLACE.
  5. En Expresión para elegir la referencia de texto de destino, escriba la siguiente expresión de sintaxis predeterminada:

    "HTTP.RES.BODY(500).AFTER_STR("<example>").BEFORE_STR("<example>")"
    
  6. En la expresión String para texto de reemplazo, escriba la siguiente expresión de cadena:

    "SYS.HTTP_CALLOUT(HTTP-Callout-2)"
    
  7. Haga clic en Crear y, a continuación, en Cerrar.

Crear la directiva de reescritura y vincularla globalmente

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, vincularla globalmente mediante el Administrador de directivas de reescritura. Como alternativa, 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 para la reescritura de directivas 1

Parámetro Valor
Name Policy-Rewrite-1
Acción Action_Rewrite-1
Acción de resultado no definida -Global undefined-result action-
Expresión “HTTP.REQ.HEADER (“Nombre”).CONTIENS (“Llamada”).NOT”

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

  1. Vaya a AppExpert > Reescribir.
  2. En el panel de detalles, en Administrador de directivas, haga clic en Volver a escribir Administrador de directivas.
  3. En el cuadro de diálogo Volver a escribir el Administrador de directivas, haga clic en Modificar global.
  4. Haga clic en Insertar directiva y, a continuación, en la columna Nombre de 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 Acción-Reescritura 1.
    2. En Acción Undefined-Result, seleccione la acción Global undefined-result.
    3. En Expresión, escriba la siguiente expresión de sintaxis predeterminada:
    "HTTP.REQ.HEADER("Name").CONTAINS("Callout").NOT"
    
    1. Haga clic en Crear y, a continuación, en Cerrar.
  6. Haga clic en Aplicar cambios y, a continuación, haga clic en Cerrar.

Caso de uso: Soporte ESI para recuperar y actualizar contenido dinámicamente