Caso de uso: compatibilidad con ESI para obtener y actualizar contenido de forma dinámica
边边包括(ESI) es un lenguaje de marcadopara 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:
- Habilite la reescritura en el dispositivo NetScaler.
- Cree una llamada HTTP en el dispositivo y configúrela con detalles sobre el servidor externo y otros parámetros necesarios.
- Configure una acción de reescritura para reemplazar el contenido ESI por el cuerpo de respuesta de llamada.
- 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
- Asegúrese de haber instalado la licencia de reescritura.
- 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, consulteConfiguración de una llamada HTTP. Para obtener más información sobre los valores de losparámetros, consulte Parámetros y valores para HTTP-Callout-2pdf.
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 (\” |
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
- Vaya aAppExpert>Reescribir>Acciones.
- En el panel de detalles, haga clic enAgregar.
- En el cuadro de diálogoCrear acción de reescritura, en Nombre, escribaAction-Rewrite-1.
- En Tipo, seleccioneREEMPLAZAR.
EnExpresiónpara elegir la referencia de texto de destino, escriba la siguiente expresión de directiva avanzada:
"HTTP.RES.BODY(500).AFTER_STR("
").BEFORE_STR(" ")" En la expresión de cadena del texto de sustitución, escriba la siguiente expresión de cadena:
"SYS.HTTP_CALLOUT(HTTP-Callout-2)"
- Haga clic enCreary, a continuación, enCerrar.
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
- Vaya aAppExpert>Reescribir.
- En el panel de detalles, enPolicy Manager, haga clic enReescribir Policy Manager.
- En el cuadro de diálogoReescribir Policy Manager, haga clic enAnular global.
- Haga clic enInsertar directivay, a continuación, en la columnaNombre de la directiva, haga clic enNueva directiva.
- En el cuadro de diálogoCrear directiva de reescritura, haga lo siguiente: 1.En Nombre, escriba Policy-Rewrite-1.
- 在一起,seleccione Action-Rewrite-1。
- En Acción de resultado no definido, seleccione Acciónglobal de resultado indefinido .
- En Expresión, escriba la siguiente expresión de directiva avanzada:
"HTTP.REQ.HEADER("Name").CONTAINS("Callout").NOT"
- Haga clic enCreary, a continuación, enCerrar.
- Haga clic enAplicar cambiosy, a continuación, enCerrar.