Citrix ADC

Configurar una directiva de redirección de caché

Una directiva de redirección de caché incluye una o varias 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 acciones explícitamente 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 directivas clásico se denominan directivas clásicas de redirección de caché. 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 operadores lógicos.

En el caso de las directivas clásicas de redirección de caché, no se configuran acciones explícitamente 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 directiva avanzada o un conjunto de expresiones de directiva avanzadas que se combinan mediante operadores lógicos y las siguientes acciones integradas:

  • CACHÉ
  • ORIGEN

Para obtener más información sobre las expresiones clásicas y las expresiones de directiva avanzadas, 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 comprobar la configuración:

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

Ejemplos:

Directiva con una expresión sencilla:

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

Directiva con una expresión compuesta:

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

Directiva que evalúa un encabezado:

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

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

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

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

Ejemplos:

Directiva con una expresión sencilla:

> 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
<!--NeedCopy-->

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
<!--NeedCopy-->

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
<!--NeedCopy-->

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 introduce 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 sencilla, introduzca la expresión. A continuación se muestra un ejemplo de 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 siguiente ejemplo 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 Crear y, a continuación, haga clic en Cerrar.

Configurar 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, introduzca un nombre para la directiva.

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

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

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

    • Igualar 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 exigir que, para que coincida con la directiva, una solicitud debe coincidir tanto con la expresión actual como la siguiente expresión.
      • El operador OR [   ], para exigir que, para que coincida con la directiva, una solicitud debe coincidir con la expresión actual o la siguiente expresión, 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: (.)
      • 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. Apaga por completo el Editor de expresiones y convierte la lista Expresiones en un área de texto en la que se 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 de formato libre avanzado, consulte Configuración de directivas y expresiones clásicas.

      Precaución: Si cambia al modo de edición de expresiones de formato libre avanzado, 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 utilizarlo.

  5. Si ha seleccionado 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 su 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 su expresión.

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

    • HTTP. Configura el dispositivo para que examine el encabezado HTTP.
    • SSL. Configura el dispositivo para que examine el certificado de cliente SSL. Disponible solo si seleccionaste REQ (solicitudes) en la lista desplegable anterior.
    • TCP. Configura el dispositivo para que examine el encabezado TCP.
    • IP. Configura el dispositivo para que examine la dirección IP de origen o de 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 directivas de redirección de caché disponibles para cada protocolo

    Protocolo Clasificatorio Definición
    HTTP METHOD Método HTTP utilizado en la solicitud.
    - URL Contenido del encabezado URL.
    - URLTOKENS Tokens de URL en el encabezado HTTP.
    - VERSION Versión HTTP de la conexión.
    - HEADER Parte del 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 en su conjunto.
    - CLIENT.CERT.SUBJECT Contenido del campo asunto del certificado de cliente.
    - CLIENT.CERT.ISSUER 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. (Fecha de inicio).
    - CLIENT.CERT.VALIDTO Fecha tras la cual el certificado de cliente deja de ser válido. (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 de 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 de su expresión en la lista desplegable Operador.

    Tus elecciones dependen del calificador que hayas elegido 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 cadena de texto siguiente.
    • . Es mayor que el número entero siguiente.

    • CONTAINS . Contiene la siguiente cadena de texto.
    • CONTENTS . El contenido del encabezado, URL o consulta URL designados.
    • EXISTS . El encabezado o la consulta especificados ya existen.
    • NOTCONTAINS . No contiene la siguiente cadena de texto.
    • NOTEXISTS . El encabezado o la consulta especificados no existen.

    Si quiere que esta directiva funcione en solicitudes enviadas a un host específico, puede dejar el signo predeterminado, el signo 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 ha elegido HEADER como calificador, escriba el encabezado que quiera en el cuadro de texto Nombre del 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é.