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 las 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 NetScaler varían 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 NetScaler 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 | Determinar cómo llevar a cabo la resolución DNS de las solicitudes. |
Cambio de contenido (Nota: Esta función puede admitir directivas avanzadas, pero no ambas). | Cambio de contenido (CS) | Directivas de cambio de contenido | Servidor virtual de conmutación de contenido o redirección de caché; etiqueta de directiva | Determinar qué servidor o grupo de servidores es responsable de atender las 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, cambio de contenido o servidor virtual de descarga SSL | Para determinar si las respuestas HTTP pueden almacenarse en la memoria caché integrada del dispositivo NetScaler y servirse desde ella. |
Responder | none | Directivas de respuesta | Anulación global, valor predeterminado global, etiqueta de directiva, equilibrio de carga, cambio de contenido o servidor virtual de descarga SSL | Configurar el comportamiento de la función Responder. |
Reescritura | none | Directivas de reescritura | Anulación global, valor predeterminado global, etiqueta de directiva, equilibrio de carga, cambio de contenido o servidor virtual de descarga SSL | 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. |
NetScaler Gateway (solo funciones de VPN sin cliente) | Servidor VPN | Directivas de acceso sin cliente | VPN Global, servidor VPN | Para determinar cómo funciona NetScaler Gateway: autenticación, autorización, auditoría y otras funciones, y para definir reglas de reescritura para el acceso web general mediante NetScaler 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. El conjunto de directivas vinculado a un punto de enlace se conoce como banco de directivas.
A continuación se presentan los puntos de enlace que NetScaler evalúa, enumerados en el orden típico de evaluación dentro de un banco de directivas
- Anulación del tiempo de solicitud. Cuando una solicitud fluye a través de una función, NetScaler 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, NetScaler 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, NetScaler procesa las directivas de tiempo de solicitud para los servidores virtuales de conmutación de contenido.
- Hora de solicitud predeterminada. Si no se puede completar la evaluación de directivas después de haber evaluado todas las directivas específicas del servidor virtual en el momento de la solicitud, NetScaler procesa las directivas avanzadas en el momento de la solicitud.
- Anulación del tiempo de respuesta. En el momento de respuesta, NetScaler comienza con directivas vinculadas al punto de enlace de anulación de tiempo de respuesta.
- Servidor virtual de equilibrio de carga de tiempo de respuesta. Si no se puede completar la evaluación de directivas después de haber evaluado todas las directivas de anulación de tiempo de respuesta, NetScaler 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, NetScaler procesa las directivas de tiempo de respuesta para los servidores virtuales de conmutación de contenido.
- Tiempo de respuesta predeterminado. Si no se puede completar la evaluación de directivas después de haber evaluado todas las directivas específicas del servidor virtual en tiempo de respuesta, NetScaler 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 NetScaler y posteriores que en las versiones 8.x. En NetScaler 9.0 y versiones posteriores, la evaluación se realiza de la siguiente manera:
- Las directivas de cambio de contenido se evalúan antes que otras directivas. Si una directiva de cambio 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 servidor vserver de equilibrio de carga predeterminado en el VIP de conmutación de contenido.
Una vez que el proceso de conmutación de contenido selecciona un servidor vserver de equilibrio de carga de destino, las directivas se evalúan en el siguiente orden:
- Directivas vinculadas al punto de enlace de anulación global.
- Directivas enlazadas al servidor vserver de equilibrio de carga predeterminado.
- Directivas enlazadas al servidor 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 pautas:
- Asegúrese de que el servidor vserver de equilibrio de carga predeterminado no sea accesible directamente desde el exterior; por ejemplo, la dirección IP de vserver puede ser 0.0.0.0.
- Para evitar la exposición de datos internos en el servidor vserver predeterminado de equilibrio de carga, configure una directiva para que responda con el estado “Servicio 503 no disponible” y enlaza el 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 basada en prioridades y configurar entradas que invoquen bancos de directivas externos.
En la tabla siguiente se resumen todas las entradas de un banco de directivas.
Nombre de la directiva | Prioridad | Expresión Goto | Tipo de invocación | Banco de directivas que se invocará |
---|---|---|---|---|
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 próxima directiva del banco que se va a evaluar o finaliza cualquier evaluación posterior | Opcional. Indica que se invocará un banco de directivas externas. 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. Es la etiqueta de un banco de directivas o el nombre de un servidor virtual. El NetScaler vuelve al banco actual después de procesar el banco externo. |
Si la directiva se evalúa como TRUE, NetScaler almacena la acción asociada a la directiva. Si la directiva se evalúa como FALSE, NetScaler evalúa la siguiente directiva. Si la directiva no es VERDADERA ni FALSA, NetScaler 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érica. Cuanto menor sea el número, mayor será la prioridad.
-
Una expresión Goto.
Si se suministra, 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, la configuración de un banco de directivas no es válida si un extracto Goto apunta hacia atrás en el banco.
-
Invocación de otros bancos de directivas.
Cualquier entrada puede invocar un banco de directivas externas. NetScaler proporciona una entidad integrada denominada NOPOLICY que no tiene una regla. Puede agregar una entrada NOPOLICY en un banco de directivas cuando quiera invocar otro banco de directivas, pero no quiere procesar ninguna otra regla antes de la invocación. Puede tener varias entradas 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 número entero, debe coincidir con el nivel de prioridad de otra directiva del banco de directivas actual.
-
FINAL.
Esta palabra clave detiene la evaluación tras procesar la directiva actual y no se procesan directivas adicionales en este banco.
-
En blanco.
Si la expresión Goto está vacía, es lo mismo que especificar END.
-
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.
-
USAR_RESULTADO_DE_INVOCACIÓN.
Esta frase solo se puede utilizar si se invoca un banco de directivas externas. Al introducir esta frase, NetScaler realizará una de las siguientes acciones:
- Si el Goto final del banco de directivas invocado tiene el valor 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 del banco de directivas invocado no es END, NetScaler realiza un NEXT.
En la siguiente tabla se muestra un banco de directivas que utiliza extractos de Goto e invocaciones bancarias de directivas.
Nombre de la directiva | Prioridad | Ir a | Invocación | Banco de directivas que se invocará |
---|---|---|---|---|
clientCertificatePolicy (regla: ¿contiene la solicitud un certificado de cliente?) | 100 | 300 | Nada | Nada |
SubnetPolicy (regla: ¿el cliente pertenece a una subred privada?) | 200 | PRÓXIMO | Nada | Nada |
SIN POLÍTICA | 300 | UTILIZAR RESULTADO DE INVOCACIÓN | Solicitar vserver | My_request_vserver |
SIN POLÍTICA | 350 | UTILIZAR RESULTADO DE INVOCACIÓN | Etiqueta de directiva | My_Policy_Label |
workingHoursPolicy (regla: ¿son horas de trabajo?) | 400 | FIN | Nada | Nada |
Tabla 3. Ejemplo de banco de directivas que utiliza invocaciones bancarias externas y Gotos
Cómo finaliza la evaluación de directivas
La evaluación de un banco de directivas finaliza cuando se produce una de las siguientes situaciones:
-
Una directiva se evalúa como VERDADERO y su valor de sentencia Goto es END.
No se evalúan más directivas ni bancos de directivas de esta función.
-
Se invoca un banco de directivas externo, su evaluación devuelve un END y la sentencia Goto utiliza un valor de USE_INVOCATION_RESULT o END.
La evaluación continúa con el próximo banco de directivas de esta función. Por ejemplo, si el banco actual es el banco de anulación de tiempo de solicitud, NetScaler evalúa a continuación los bancos de directivas de tiempo de solicitud para los servidores virtuales.
-
NetScaler ha revisado todos los bancos de pólizas de esta función, pero no ha encontrado ningún END.
Si esta es la última entrada que se evalúa en este banco de directivas, NetScaler pasa a la siguiente función.
Cómo utilizan las funciones las acciones tras la evaluación de directivas
Tras evaluar todas las directivas relevantes para un punto de datos concreto (por ejemplo, una solicitud HTTP), NetScaler almacena todas las acciones asociadas a 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 cuando sale de NetScaler. 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 que las directivas específicas del servidor virtual).
En este artículo
- Diferencias específicas de las 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 finaliza la evaluación de directivas
- Cómo utilizan las funciones las acciones tras la evaluación de directivas