Citrix ADC

Configurar una directiva de redirección de caché

Una directiva de redirección de caché incluye una o más expresiones (también denominadas reglas). Cada expresión representa una condición que se evalúa cuando se compara la solicitud del cliente con la directiva.

No se configuran explícitamente acciones para directivas de redirección de caché. De forma predeterminada, el dispositivo Citrix ADC considera que cualquier solicitud que coincida con una directiva no se puede almacenar en caché y dirige la solicitud al servidor de origen en lugar de a la caché.

Las directivas de redirección de caché basadas en el formato de directiva clásico se denominan directivas de redirección de caché clásicas. Cada una de estas directivas tiene un nombre e incluye una expresión clásica o un conjunto de expresiones clásicas que se combinan mediante el uso de operadores lógicos.

Para las directivas de redirección de caché clásicas, no se configuran explícitamente acciones para las directivas. De forma predeterminada, el dispositivo Citrix ADC considera que cualquier solicitud que coincida con una directiva no se puede almacenar en caché y dirige la solicitud al servidor de origen en lugar de a la caché.

Las directivas de redirección de caché basadas en el formato de directiva más reciente se denominan directivas de redirección avanzadas. Dicha directiva tiene un nombre e incluye una expresión de sintaxis predeterminada, o un conjunto de expresiones de sintaxis predeterminadas que se combinan mediante operadores lógicos, y las siguientes acciones integradas:

  • CACHÉ
  • ORIGEN

Para obtener más información acerca de las expresiones clásicas y las expresiones de sintaxis predeterminadas, consulte Directivas y expresiones.

Agregar una directiva de redirección de caché mediante la CLI

En el símbolo del sistema, escriba los siguientes comandos para agregar una directiva de redirección de caché y verificar la configuración:

-  add cr policy <policyName> \*\*-rule\*\* <expression>
-  show cr policy [<policyName>]

Ejemplos:

Directiva con una expresión simple:

> add cr policy Policy-CRD-1 -rule "REQ.HTTP.URL != /\*.jpeg"
 Done
> show cr policy Policy-CRD-1
         Cache-By-Pass RULE: REQ.HTTP.URL != '/\*.jpeg'   Policy:Policy-CRD-1
 Done

Directiva con una expresión compuesta:

> add cr policy Policy-CRD-2 -rule "REQ.HTTP.METHOD == POST && (REQ.HTTP.URL == /\*.cgi || REQ.HTTP.URL != /\*.gif)"
 Done
> show cr policy Policy-CRD-2
         Cache-By-Pass RULE: REQ.HTTP.METHOD == POST && (REQ.HTTP.URL == '/\*.cgi' || REQ.HTTP.URL != '/\*.gif')   Policy:Policy-CRD-2
 Done

Directiva que evalúa un encabezado:

> add cr policy Policy-CRD-3 -rule "REQ.HTTP.HEADER If-Modified-Since EXISTS"
 Done
> show cr policy Policy-CRD-3
         Cache-By-Pass RULE: REQ.HTTP.HEADER If-Modified-Since EXISTS    Policy:Policy-CRD-3
 Done

Agregar una directiva de redirección de caché de sintaxis predeterminada mediante la CLI

En el símbolo del sistema, escriba los siguientes comandos para agregar una directiva de redirección de caché y verificar la configuración:

-  add cr policy <policyName> \*\*-rule\*\* <expression> [-action<string>] [-logAction<string>]
-  show cr policy [<policyName>]

Ejemplos:

Directiva con una expresión simple:

> add cr policy crpol1 -rule !(HTTP.REQ.URL.ENDSWITH(".jpeg”)) -action origin
 Done
> show cr policy crpoll
         Policy: crpol1 Rule: !(HTTP.REQ.URL.ENDSWITH(".jpeg")) Action: ORIGIN
 Done

Directiva con una expresión compuesta:

> add cr policy crpol11 -rule "http.req.method.eq(post) && (HTTP.REQ.URL.ENDSWITH(".gif") || HTTP.REQ.URL.ENDSWITH(".cgi"))"  -action cache
 Done
> show cr policy crpol11
         Policy: crpol11    Rule: http.req.method.eq(post) && (HTTP.REQ.URL.ENDSWITH(".gif") || HTTP.REQ.URL.ENDSWITH(".cgi"))  Action: CACHE
 Done

Directiva que evalúa un encabezado:

> add cr policy crpol12 -rule http.req.header("If-Modified-Since").exists -action origin
 Done
> show cr policy crpol12
         Policy: crpol12    Rule: http.req.header("If-Modified-Since").exists   Action: ORIGIN
 Done

Modificar o quitar una directiva de redirección de caché mediante la CLI

  • Para modificar una directiva de redirección de caché, utilice el comando set cr policy, que es igual que el comando add cr policy, excepto que escriba el nombre de una directiva existente.
  • Para quitar una directiva, utilice el comando rm cr policy, que solo acepta el argumento <name>. Si la directiva está enlazada a un servidor virtual, debe desvincularla antes de poder quitarla.

Para obtener información detallada sobre cómo desvincular una directiva de redirección de caché, consulte Desvincular una directiva de un servidor virtual de redirección de caché.

Configure una directiva de redirección de caché con una expresión simple mediante la interfaz gráfica de usuario

  1. Vaya a Gestión de Tráfico > Redirección de Caché > Directivas.

  2. En el panel de detalles, haga clic en Agregar.

  3. En el cuadro de diálogo Crear directiva de redirección de caché, en el cuadro de texto Nombre*, escriba el nombre de la directiva y, a continuación, en el área Expresión, haga clic en Agregar.

  4. Para configurar una expresión simple, escriba la expresión. A continuación se muestra un ejemplo de una expresión que comprueba si hay una extensión.jpeg en una URL:

    • Tipo de expresión General
    • Tipo de flujo -REQ
    • Protocolo -HTTP
    • Calificador -URL
    • Operador -! =
    • Valor: /.jpeg

    La expresión simple del ejemplo siguiente comprueba si hay un encabezado If-Modified-Since en una solicitud:

    • Tipo de expresión General
    • Tipo de flujo -REQ
    • Protocolo -HTTP
    • Calificador -HEADER
    • Operador -EXISTS
    • Nombre de encabezado -If-Modified-Since
  5. Cuando haya terminado de escribir la expresión, haga clic en Aceptar o en Crear y, a continuación, haga clic en Cerrar.

Configure una directiva de redirección de caché con una expresión compuesta mediante la interfaz gráfica de usuario

  1. Vaya a Gestión de Tráfico > Redirección de Caché > Directivas.

  2. En el panel de detalles, haga clic en Agregar.

  3. En el cuadro de texto Nombre, escriba un nombre para la directiva.

    El nombre puede comenzar con una letra, un número o un símbolo de subrayado, y puede consistir de una a 127 letras, números y los símbolos de guión (-), punto (.) libra (#), espacio (), at (@), igual (=) y subrayado (_). Debe elegir un nombre que le facilitará a los demás saber qué tipo de contenido se creó para detectar esta directiva.

  4. Elija el tipo de expresión compuesta que quiere crear. Las opciones disponibles son:

    • Coincidir con cualquier expresión. La directiva coincide con el tráfico si una o más expresiones individuales coinciden con el tráfico.

    • Hacer coincidir todas las expresiones. La directiva coincide con el tráfico solo si cada expresión individual coincide con el tráfico.

    • Expresiones tabulares. Cambia la lista Expresiones a un formato tabular con tres columnas. En la columna situada más a la derecha, coloque uno de los siguientes operadores:

      • El operador AND [ && ], para requerir que, para que coincida con la directiva, una solicitud debe coincidir tanto con la expresión actual como con la siguiente expresión.
      • El operador OR [   ], para requerir que, para que coincida con la directiva, una solicitud debe coincidir con la expresión actual o la expresión siguiente, o ambas. Solo si la solicitud no coincide con ninguna de las expresiones, no coincide con la directiva.

      También puede agrupar expresiones en subgrupos anidados seleccionando una expresión existente y haciendo clic en uno de los siguientes operadores:

      • El operador BEGIN SUBGROUP [+ ( ], que indica al dispositivo Citrix ADC que inicie un subgrupo anidado con la expresión seleccionada. (Para quitar este operador de la expresión, haga clic en: (.)
      • El operador END SUBGROUP [+ ) ], que indica al dispositivo Citrix ADC que finalice el subgrupo anidado actual con la expresión seleccionada. (Para quitar este operador de la expresión, haga clic en -).)
    • Forma libre avanzada. Desactiva completamente el Editor de expresiones y convierte la lista Expresiones en un área de texto en el que puede escribir una expresión compuesta. Este es el método más potente y más difícil para crear una expresión de directiva, y solo se recomienda para aquellos que estén familiarizados con el lenguaje de expresiones clásicas de Citrix ADC.

      Para obtener más información sobre la creación de expresiones clásicas en el área de texto Formato libre avanzado, consulte Configuración de directivas y expresiones clásicas.

      Precaución: Si cambia al modo de edición avanzada de expresiones de forma libre, no podrá volver a ninguno de los otros modos. No elija este modo de edición de expresiones a menos que esté seguro de que quiere usarlo.

  5. Si elige Coincidir con cualquier expresión, Coincidir con todas las expresiones o Expresiones tabulares, haga clic en Agregar para mostrar el cuadro de diálogo Agregar expresión.

    Debe dejar el tipo de expresión establecido en General para las directivas de redirección de caché.

  6. En la lista desplegable Tipo de flujo, elija un tipo de flujo para la expresión.

    El tipo de flujo determina si la directiva examina las conexiones entrantes o salientes. Tienes dos opciones:

    • REQ. Configura el dispositivo Citrix ADC para examinar las conexiones entrantes o las solicitudes.
    • RES. Configura el dispositivo para examinar las conexiones salientes o las respuestas.
  7. En la lista desplegable Protocolo, elija un protocolo para la expresión.

    El protocolo determina el tipo de información que la directiva examina en la solicitud o respuesta. Dependiendo de si ha elegido REQ o RES en la lista desplegable anterior, están disponibles las cuatro opciones o solo tres de las siguientes:

    • HTTP. Configura el dispositivo para examinar el encabezado HTTP.
    • SSL. Configura el dispositivo para examinar el certificado de cliente SSL. Disponible solo si ha seleccionado REQ (solicitudes) en la lista desplegable anterior.
    • TCP. Configura el dispositivo para examinar el encabezado TCP.
    • IP. Configura el dispositivo para examinar la dirección IP de origen o destino.
  8. Elija un calificador para su expresión en la lista desplegable Calificador.

    El contenido de la lista desplegable Calificador depende del protocolo elegido. En la tabla siguiente se describen las opciones disponibles para cada protocolo.

    Tabla 1. Calificadores de directiva de redirección de caché disponibles para cada protocolo

    Protocol Calificador Definición
    HTTP MÉTODO Método HTTP utilizado en la solicitud.
    - URL. Contenido del encabezado URL.
    - URLTOKENS Fichas de URL en el encabezado HTTP.
    - VERSIÓN Versión HTTP de la conexión.
    - ENCABEZADO Parte de encabezado de la solicitud HTTP.
    - URLLEN Longitud del contenido del encabezado URL.
    - URLQUERY Consulta parte del contenido del encabezado URL.
    - URLQUERYLEN Longitud de la parte de consulta del encabezado URL.
    SSL CLIENT.CERT Certificado de cliente SSL como un todo.
    - CLIENT.CERT.SUBJECT Contenido del campo asunto del certificado de cliente.
    - CLIENT.CERT.EMISER Emisor del certificado de cliente.
    - CLIENT.CERT.SIGALGO Algoritmo de firma utilizado en el certificado de cliente.
    - CLIENT.CERT.VERSION Versión del certificado de cliente.
    - CLIENT.CERT.VALIDFROM Fecha a partir de la cual el certificado de cliente es válido. (La fecha de inicio.)
    - CLIENT.CERT.VALIDTO Fecha después de la cual el certificado de cliente ya no es válido. (La fecha de finalización.)
    - CLIENT.CERT.SERIALNUMBER Número de serie del certificado de cliente.
    - CLIENT.CIPHER.TYPE Método de cifrado utilizado en el certificado de cliente.
    - CLIENT.CIPHER.BITS Número de bits significativos en la clave de cifrado.
    - CLIENT.SSL.VERSION Versión SSL del certificado de cliente.
    TCP SOURCEPORT Puerto de origen de la conexión TCP.
    - DESTPORT Puerto de destino de la conexión TCP.
    - MSS Tamaño máximo de segmento (MSS) de la conexión TCP.
    IP SOURCEIP Dirección IP de origen de la conexión.
    - DESTIP Dirección IP de destino de la conexión.
  9. Elija el operador para su expresión en la lista desplegable Operador.

    Sus opciones dependen del calificador que eligió en el paso anterior. La lista completa de operadores que pueden aparecer en esta lista desplegable es:

    • ==. Coincide exactamente con la siguiente cadena de texto.
    • !=. No coincide con la siguiente cadena de texto.
    • . Es mayor que el siguiente entero.

    • CONTAINS. Contiene la siguiente cadena de texto.
    • CONTENTS. El contenido de la consulta de encabezado, URL o URL designada.
    • EXISTS. El encabezado o consulta especificado existe.
    • NOTCONTAINS. No contiene la siguiente cadena de texto.
    • NOTEXISTS. El encabezado o consulta especificado no existe.

    Si quiere que esta directiva funcione en las solicitudes enviadas a un host específico, puede dejar el signo predeterminado, igual (==).

  10. Si el cuadro de texto Valor está visible, escriba la cadena o el número adecuados en el cuadro de texto.

    Por ejemplo, si quiere que esta directiva seleccione las solicitudes enviadas al host shopping.example.com, debe escribir esa cadena en el cuadro de texto Valor.

  11. Si elige HEADER como calificador, escriba el encabezado que quiera en el cuadro de texto Nombre de encabezado.

  12. Haga clic en Aceptar para agregar la expresión a la lista Expresión.

  13. Repita los pasos 4 a 11 para crear expresiones adicionales.

  14. Haga clic en Cerrar para cerrar el cuadro de diálogo Agregar expresión y volver al cuadro de diálogo Crear directiva de redirección de caché.