Vincular directivas mediante directivas avanzadas
Después de definir una directiva, indica cuándo se va a activar la directiva vinculando la directiva a un punto de enlace. A continuación, especifique un nivel de prioridad.
Vincular una directiva a un solo punto de enlace. Un punto de enlace puede ser global. El punto de enlace global se aplica a los servidores virtuales configurados. O bien, un punto de enlace puede ser específico de un servidor virtual concreto; ya sea de un servidor virtual de equilibrio de carga o de conmutación de contenido. No todos los puntos de enlace están disponibles para todas las entidades.
El orden en que se evalúan las directivas determina el orden en que se aplican las directivas. Por lo general, las funciones evalúan varios bancos de directivas en un orden determinado.
A veces, otras funciones pueden afectar el orden de evaluación dentro de un banco de directivas. El orden de evaluación depende de los valores de los parámetros configurados en las directivas. La mayoría de las funciones aplican acciones asociadas a las directivas cuya evaluación da como resultado una coincidencia con los datos que se están procesando. La función de almacenamiento en caché integrada es una excepción.
Diferencias específicas de funciones en los enlaces de directivas
Puede enlazar directivas a puntos de enlace globales (o bancos) integrados, a servidores virtuales o a etiquetas de directivas.
Sin embargo, las funciones de Citrix ADC difieren según los tipos de enlaces disponibles. En la siguiente tabla se resume cómo se utilizan los enlaces de directivas en varias funciones de Citrix ADC que utilizan directivas.
Nombre de la funcionalidad | Servidores virtuales configurados en la función | Directivas configuradas en la función | Puntos de enlace configurados para las directivas | Uso de directivas en la función |
---|---|---|---|---|
DNS | none | Directivas DNS | Global | Para determinar cómo se realiza la resolución DNS para las solicitudes. |
Content Switching (Nota: Esta función puede admitir directivas clásicas o avanzadas, pero no ambas). | Cambio de contenido (CS) | Directivas de conmutación de contenido | Servidor virtual de conmutación de contenido o redirección de caché; etiqueta de directiva | Para determinar qué servidor o grupo de servidores ofrece respuestas, en función de las funciones de una solicitud entrante. Las funciones de solicitud incluyen el tipo de dispositivo, el idioma, las cookies, el método HTTP, el tipo de contenido y el servidor de caché asociado. |
Almacenamiento en caché integrado | none | Directivas de almacenamiento en caché | Anulación global, valor predeterminado global, etiqueta de directiva, equilibrio de carga, conmutación de contenido o servidor virtual de descarga SSL | Determinar si las respuestas HTTP se pueden almacenar en la caché integrada del dispositivo Citrix ADC y servirse desde ella. |
Responder | none | Directivas de Responder | Anulación global, valor predeterminado global, etiqueta de directiva, equilibrio de carga, conmutación de contenido o servidor virtual de descarga SSL | Para configurar el comportamiento de la función Responder. |
Reescribe | none | Volver a escribir directivas | Anulación global, valor predeterminado global, etiqueta de directiva, equilibrio de carga, conmutación de contenido o servidor virtual de descarga SSL | Para identificar los datos HTTP que quiere modificar antes de servir. Las directivas proporcionan reglas para modificar los datos. Por ejemplo, puede modificar los datos HTTP para redirigir una solicitud a un servidor seleccionado. Esta modificación se basa en la dirección de la solicitud entrante. O bien, para enmascarar la información del servidor en una respuesta por motivos de seguridad. |
Función de transformación de URL en la función Rewrite | none | Directivas de transformación | Anulación global, Valor predeterminado global, Etiqueta de directiva | Identificar las URL de las transacciones HTTP y los archivos de texto para evaluar si se debe modificar una URL. |
Citrix Gateway (solo funciones VPN sin cliente) | Servidor VPN | Directivas de acceso sin cliente | VPN Global, servidor VPN | Para determinar cómo funciona Citrix Gateway: autenticación, autorización, auditoría y otras funciones, y para definir reglas de reescritura para el acceso web general mediante Citrix Gateway. |
Puntos de enlace y orden de evaluación
Para que una directiva entre en vigor, debe confirmar que la directiva está activada en algún momento durante el procesamiento. Para ello, asocie la directiva con un punto de enlace. La colección de directivas enlazadas a un punto de enlace se conoce como banco de directivas.
Los siguientes son los puntos de enlace que evalúa Citrix ADC, enumerados en el orden típico de evaluación dentro de un banco de directivas
- Anulación de hora de solicitud. Cuando una solicitud fluye a través de una función, Citrix ADC evalúa primero las directivas de anulación de tiempo de solicitud para la función.
- Request-time Load Balancing virtual server. Si la evaluación de directivas está incompleta después de la evaluación de directivas de anulación del tiempo de solicitud, Citrix ADC procesa las directivas de tiempo de solicitud para servidores virtuales de equilibrio de carga.
- Request-time Content Switching virtual server. Si la evaluación de directivas está incompleta después de las directivas de tiempo de solicitud para la evaluación de servidores virtuales de equilibrio de carga, Citrix ADC procesa las directivas de tiempo de solicitud para los servidores virtuales de conmutación de contenido.
- Por defecto de hora de solicitud. Si la evaluación de directivas no se puede completar después de que se hayan evaluado todas las directivas específicas del servidor virtual en tiempo de solicitud, Citrix ADC procesa las directivas avanzadas en tiempo de solicitud.
- Anulación del tiempo de respuesta. En el momento de respuesta, Citrix ADC comienza con directivas enlazadas al punto de enlace de anulación del tiempo de respuesta.
- Response-time Load Balancing virtual server. Si la evaluación de directivas no se puede completar después de evaluar todas las directivas de anulación de tiempo de respuesta, Citrix ADC procesa las directivas de tiempo de respuesta para los servidores virtuales de equilibrio de carga.
- Response-time Content Switching virtual server. Si una evaluación de directivas está incompleta después de la evaluación de directivas para servidores virtuales de equilibrio de carga, Citrix ADC procesa las directivas de tiempo de respuesta para los servidores virtuales de conmutación de contenido.
- Tiempo de respuesta predeterminado. Si la evaluación de directivas no se puede completar después de que se hayan evaluado todas las directivas específicas del servidor virtual en tiempo de respuesta, Citrix ADC procesa las directivas avanzadas de tiempo de respuesta.
Evaluación de directivas en todas las funciones
Si una directiva está vinculada a un servidor virtual de conmutación de contenido. Además de la evaluación de directivas dentro de una función. Las directivas se evalúan antes que otras directivas.
La vinculación de una directiva a un servidor vserver de conmutación de contenido produce un resultado diferente en las versiones 9.0.x de Citrix ADC y posteriores que en las versiones 8.x. En Citrix ADC 9.0 y versiones posteriores, la evaluación se realiza de la siguiente manera:
- Las directivas de conmutación de contenido se evalúan antes que otras directivas. Si una directiva de conmutación de contenido se evalúa como TRUE, se selecciona el servidor vserver de equilibrio de carga de destino.
- Si todas las directivas de conmutación de contenido se evalúan como FALSE, se selecciona el vserver de equilibrio de carga predeterminado en el VIP de conmutación de contenido.
Después de seleccionar un servidor vserver de equilibrio de carga de destino mediante el proceso de conmutación de contenido, las directivas se evalúan en el siguiente orden:
- Directivas enlazadas al punto de enlace de anulación global.
- Directivas que están enlazadas al servidor vserver de equilibrio de carga predeterminado.
- Directivas que están enlazadas al vserver de conmutación de contenido de destino.
- Directivas enlazadas al punto de enlace predeterminado global.
Para asegurarse de que las directivas se evalúan en el orden previsto, siga estas directrices:
- Asegúrese de que el vserver de equilibrio de carga predeterminado no sea accesible directamente desde el exterior; por ejemplo, la dirección IP del vserver puede ser 0.0.0.0.
- Para evitar que se expongan datos internos en el servidor vserver predeterminado de equilibrio de carga, configure una directiva para que responda con el estado “503 Service Unavailable” y enlaza al servidor vserver de equilibrio de carga predeterminado.
Entradas en un banco de directivas
Cada entrada en un banco de directivas tiene, como mínimo, una directiva y un nivel de prioridad. También puede configurar entradas que cambien el orden de evaluación basado en prioridades y configurar entradas que invoquen bancos de directivas externos.
En la siguiente tabla se resumen cada entrada de un banco de directivas.
Nombre de la directiva | Prioridad | Expresión de GoTo | Tipo de invocación | Banco de directivas a ser invocado |
---|---|---|---|---|
El nombre de la directiva o una directiva “ficticia” denominada NOPOLICY. La entrada NOPOLICY controla el flujo de evaluación sin procesar una regla. | Un número entero. | Opcional. Identifica la siguiente directiva en el banco para evaluar, o termina cualquier evaluación posterior | Opcional. Indica que se invocará un banco de directivas externo. Este campo restringe las opciones a una etiqueta de directiva global o a un servidor virtual. | Opcional. Se utiliza con el tipo de invocación. Esta es la etiqueta de un banco de directivas o un nombre de servidor virtual. El dispositivo Citrix ADC vuelve al banco actual después de procesar el banco externo. |
Si la directiva se evalúa como TRUE, Citrix ADC almacena la acción asociada a la directiva. Si la directiva se evalúa como FALSE, Citrix ADC evalúa la siguiente directiva. Si la directiva no es TRUE ni FALSE, Citrix ADC utiliza la acción Undef (undefined) asociada.
Orden de evaluación dentro de un banco de directivas
Dentro de un banco de directivas, el orden de evaluación depende de los siguientes elementos:
-
Una prioridad.
La cantidad mínima de información sobre el orden de evaluación es un nivel de prioridad numérico. Cuanto menor sea el número, mayor será la prioridad.
-
Una expresión GoTo.
Si se proporciona, la expresión GoTo indica la siguiente directiva que se va a evaluar, normalmente dentro del mismo banco de directivas. Las expresiones GoTo solo pueden avanzar en un banco. Para evitar el bucle, una configuración de banco de directivas no es válida si una instrucción GoTo apunta hacia atrás en el banco.
-
Invocación de otros bancos de directivas.
Cualquier entrada puede invocar un banco de directivas externo. El dispositivo Citrix ADC proporciona una entidad integrada denominada NOPOLICY que no tiene una regla. Puede agregar una entrada NOPOLICY en un banco de directivas cuando quiera invocar a otro banco de directivas, pero no quiere procesar ninguna otra regla antes de la invocación. Puede tener varias entradas de NOPOLICY en varios bancos de directivas.
Los valores de una expresión GoTo son los siguientes:
-
SIGUIENTE.
Esta palabra clave selecciona la directiva con el siguiente nivel de prioridad más alto en el banco de directivas actual. Las directivas se evalúan en orden de prioridad desde la prioridad numerada inferior a la prioridad numerada más alta.
-
Un número entero.
Si proporciona un entero, debe coincidir con el nivel de prioridad de otra directiva en el banco de directivas actual.
-
FINAL.
Esta palabra clave detiene la evaluación después de procesar la directiva actual y no se procesan directivas adicionales en este banco.
-
Vacío.
Si la expresión GoTo está vacía, es lo mismo que especificar END.
-
Una expresión numérica.
Se trata de una expresión de directiva avanzada que se resuelve en un número de prioridad para otra directiva del banco actual.
-
USE_INVOCATION_RESULT.
Esta frase solo se puede utilizar si está invocando un banco de directivas externo. Al escribir esta frase, el dispositivo Citrix ADC realice una de las siguientes acciones:
- Si el GoTo final en el banco de directivas invocado tiene un valor de END o está vacío, el resultado de la invocación es END y la evaluación se detiene.
- Si la expresión GoTo final en el banco de directivas invocado es algo distinto de END, Citrix ADC realiza un NEXT.
En la siguiente tabla se muestra un banco de directivas que utiliza extractos GoTo e invocaciones de bancos de directivas.
Nombre de la directiva | Prioridad | GoTo | Invocación | Banco de directivas a ser invocado |
---|---|---|---|---|
ClientCertificatePolicy (regla: ¿contiene la solicitud un certificado de cliente?) | 100 | 300 | Ninguno | Ninguno |
SubnetPolicy (regla: ¿es el cliente de una subred privada?) | 200 | NEXT | Ninguno | Ninguno |
NOPOLICY | 300 | USE INVOCATION RESULT | Solicitar vserver | My_Request_VServer |
NOPOLICY | 350 | USE INVOCATION RESULT | Etiqueta de directiva | Mi_Policy_Label |
WorkinghoursPolicy (regla: ¿son horas de trabajo?) | 400 | END | Ninguno | Ninguno |
Tabla 3. Ejemplo de un banco de directivas que utiliza Gotos e invocaciones de bancos externos
Cómo termina la evaluación de directivas
La evaluación de un banco de directivas finaliza cuando se realiza una de las siguientes acciones:
-
Una directiva se evalúa como TRUE y su valor de declaración GoTo es END.
No se evalúan más directivas o bancos de directivas en esta función.
-
Se invoca un banco de directivas externo, su evaluación devuelve un END y la instrucción GoTo utiliza un valor USE_INVOCATION_RESULT o END.
La evaluación continúa con el siguiente banco de directivas para esta función. Por ejemplo, si el banco actual es el banco de reemplazo de tiempo de solicitud, el dispositivo Citrix ADC evalúa los bancos de directivas de tiempo de solicitud para los servidores virtuales.
-
El dispositivo Citrix ADC ha recorrido todos los bancos de directivas de esta función, pero no ha encontrado un END.
Si esta es la última entrada que se evaluará en este banco de directivas, Citrix ADC pasa a la siguiente función.
Cómo utilizan las funciones las acciones después de la evaluación de directivas
Después de evaluar todas las directivas relevantes para un punto de datos determinado (por ejemplo, una solicitud HTTP), Citrix ADC almacena todas las acciones asociadas con cualquier directiva que coincida con los datos.
Para la mayoría de las funciones, todas las acciones de las directivas coincidentes se aplican a un paquete de tráfico a medida que sale del dispositivo Citrix ADC. La función Almacenamiento en caché integrado solo aplica una acción: CACHE o NOCACHE. Esta acción está asociada a la directiva con el valor de prioridad más bajo en el banco de directivas de “prioridad más alta” (por ejemplo, las directivas de anulación de tiempo de solicitud se aplican antes de las directivas específicas del servidor virtual).
En este artículo
- Diferencias específicas de funciones en los enlaces de directivas
- Puntos de enlace y orden de evaluación
- Evaluación de directivas en todas las funciones
- Entradas en un banco de directivas
- Orden de evaluación dentro de un banco de directivas
- Cómo termina la evaluación de directivas
- Cómo utilizan las funciones las acciones después de la evaluación de directivas