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.

Creación de 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, consulteParámetros y valores para HTTP-Callout-2pdf.

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.

Parámetro Valor
Nombre 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)”

Cuadro 2. Parámetros y valores para acción-Reescritura 1

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, haga clic 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.

Parámetro Valor
Nombre 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”

Cuadro 3. Parámetros y valores para la reescritura de directivas 1

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.
    2. En Acción, seleccione Acción-Reescritura 1.
    3. En Acción de resultado no definido, seleccione Acción global de resultado no definido.
    4. En Expresión, escriba la siguiente expresión de sintaxis predeterminada:

      "HTTP.REQ.HEADER("Name").CONTAINS("Callout").NOT"
      
    5. Haga clic en Crear y, a continuación, haga clic en Cerrar.
  6. Haga clic en Aplicar cambios y, a continuación, haga clic en Cerrar.