Vinculación de una directiva de reescritura

Después de crear una directiva de reescritura, debe vincularla para ponerla en vigor. Puede enlazar la directiva a Global si quiere aplicarla a todo el tráfico que pasa a través del dispositivo Citrix ADC, o bien puede enlazar la directiva a un servidor virtual específico o un punto de enlace para dirigir solo ese servidor virtual o enlazar el tráfico entrante del punto a esa directiva. Si una solicitud entrante coincide con una directiva de reescritura, se lleva a cabo la acción asociada a dicha directiva.

Las directivas de reescritura para evaluar las solicitudes y respuestas HTTP pueden vincularse a servidores virtuales de tipo HTTP o SSL, o bien pueden vincularse a los puntos de enlace REQ_OVERRIDE, REQ_DEFAULT, RES_OVERRIDE y RES_DEFAULT. Las directivas de reescritura para la reescritura TCP solo pueden enlazarse a servidores virtuales de tipo TCP o SSL_TCP, o a los puntos de enlace OTHERTCP_REQ_OVERRIDE, OTHERTCP_REQ_DEFAULT, OTHERTCP_RES_OVERRIDE y OTHERTCP_RES_DEFAULT.

Nota: El término OTHERTCP se utiliza en el contexto del dispositivo Citrix ADC para hacer referencia a todas las solicitudes y respuestas

TCP o SSL_TCP que quiere tratar como una secuencia sin procesar de bytes, independientemente de los protocolos que encapsulen los paquetes TCP.

Cuando vincula una directiva, le asigna una prioridad. La prioridad determina el orden en que se evalúan las directivas definidas. Puede establecer la prioridad en cualquier entero positivo.

En el sistema operativo Citrix ADC, las prioridades de directivas funcionan en orden inverso: cuanto mayor sea el número, menor será la prioridad. Por ejemplo, si tiene tres directivas con prioridades de 10, 100 y 1000, la directiva asignada una prioridad de 10 se aplica primero, la directiva asignada una prioridad de 100 y, finalmente, la directiva asignada un orden de 1000.

A diferencia de la mayoría de las demás funciones del sistema operativo Citrix ADC, la función de reescritura continúa evaluando e implementando directivas después de que una solicitud coincida con una directiva. Sin embargo, el efecto de una directiva de acción determinada sobre una solicitud o respuesta suele ser diferente dependiendo de si se realiza antes o después de otra acción. La prioridad es importante para obtener los resultados deseados.

Puede dejar mucho espacio para agregar otras directivas en cualquier orden y configurarlas para que se evalúen en el orden que quiera, estableciendo prioridades con intervalos de 50 o 100 entre cada directiva cuando la vincule. Si lo hace, puede agregar directivas adicionales en cualquier momento sin tener que reasignar la prioridad de una directiva existente.

Al vincular una directiva de reescritura, también tiene la opción de asignar una expresión goto (goToTriorityExpression) a la directiva. Una expresión goto puede ser cualquier entero positivo que coincida con la prioridad asignada a una directiva diferente que tenga una prioridad más alta que la directiva que contiene la expresión goto. Si asigna una expresión goto a una directiva y una solicitud o respuesta coincide con la directiva, Citrix ADC irá inmediatamente a la directiva cuya prioridad coincida con la expresión goto. Se saltará por encima de las directivas con números de prioridad inferiores a los de la directiva actual, pero superiores al número de prioridad de la expresión goto, y no evaluará esas directivas.

Para enlazar globalmente una directiva de reescritura mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba los siguientes comandos para enlazar globalmente una directiva de reescritura y verificar la configuración:

  • bind rewrite global <policyName> <priority> [<gotoPriorityExpression>] [-type <type>] [-invoke (<labelType> <labelName>)]
  • show rewrite global

Ejemplo:


>bind rewrite global policyNew 10
 Done

> show rewrite global
1)      Global bindpoint: RES_DEFAULT
        Number of bound policies: 1

2)      Global bindpoint: REQ_OVERRIDE
        Number of bound policies: 1

 Done

Para enlazar la directiva de reescritura a un servidor virtual específico mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba los siguientes comandos para vincular la directiva de reescritura a un servidor virtual específico y verificar la configuración:

  • bind lb vserver <name>@ (<serviceName>@ [-weight <positive_integer>]) | <serviceGroupName>@ | (-policyName <string>@ [-priority <positive_integer>] [-gotoPriorityExpression <expression>] [-type ( REQUEST | RESPONSE )] [-invoke (<labelType> <labelName>)] )
  • show lb vserver <name>

Ejemplo:

> bind lb vserver lbvip -policyName ns_cmp_msapp -priority 50
 Done
>
> show lb vserver lbvip
        lbvip (8.7.6.6:80) - HTTP       Type: ADDRESS
        State: DOWN
        Last state change was at Wed Jul 15 05:54:24 2009 (+226 ms)
        Time since last state change: 28 days, 01:57:26.350
        Effective State: DOWN
        Client Idle Timeout: 180 sec
        Down state flush: ENABLED
        Disable Primary Vserver On Down : DISABLED
        Port Rewrite : DISABLED
        No. of Bound Services :  0 (Total)       0 (Active)
        Configured Method: LEASTCONNECTION
        Mode: IP
        Persistence: NONE
        Vserver IP and Port insertion: OFF
        Push: DISABLED  Push VServer:
        Push Multi Clients: NO
        Push Label Rule: none

1)      Policy : ns_cmp_msapp Priority:50
2)      Policy : cf-pol Priority:1      Inherited
 Done

Para enlazar una directiva de reescritura a un punto de enlace mediante la utilidad de configuración

  1. Vaya a AppExpert >Reescribir > Directivas.
  2. En el panel de detalles, seleccione la directiva de reescritura que quiere enlazar globalmente y, a continuación, haga clic en Administrador de directivas.
  3. En el cuadro de diálogo Volver a escribir el Administrador de directivas, en el menú Puntos de enlace, realice una de las acciones siguientes:

    1. Si quiere configurar enlaces para directivas de reescritura HTTP, haga clic en HTTPy, a continuación, haga clic en Solicitaro Respuesta, dependiendo de si quiere configurar directivas de reescritura basadas en solicitudes o directivas de reescritura basadas en respuesta.
    2. Si quiere configurar enlaces para directivas de reescritura TCP, haga clic en TCPy, a continuación, haga clic en Clienteo Servidor, dependiendo de si quiere configurar directivas de reescritura TCP del lado del cliente o directivas de reescritura TCP del lado del servidor.
  4. Haga clic en el punto de enlace al que quiere enlazar la directiva de reescritura. El cuadro de diálogo Reescribir Policy Manager muestra todas las directivas de reescritura enlazadas al punto de enlace seleccionado.
  5. Haga clic en Insertar directiva para insertar una nueva fila y mostrar una lista desplegable con todas las directivas de reescritura independientes disponibles.
  6. Haga clic en la directiva que quiere enlazar al punto de enlace. La directiva se inserta en la lista de directivas de reescritura enlazadas al punto de enlace.
  7. En la columna Prioridad, puede cambiar la prioridad a cualquier entero positivo. Para obtener más información acerca de este parámetro, consulte prioridad en “Parámetros para enlazar una directiva de reescritura.”
  8. Si quiere omitir directivas e ir directamente a una directiva específica en caso de que coincida con la directiva actual, cambie el valor de la columna Expresión de GoTo para que sea igual a la prioridad de la siguiente directiva que se va a aplicar. Para obtener más información acerca de este parámetro, vea GoToTriorityExpression en “Parameters for binding a rewrite policy.”
  9. Para modificar una directiva, haga clic en la directiva y, a continuación, haga clic en Modificar directiva.
  10. Para desvincular una directiva, haga clic en la directiva y, a continuación, haga clic en Desenlazar directiva.
  11. Para modificar una acción, en la columna Acción, haga clic en la acción que quiera modificar y, a continuación, haga clic en Modificar acción.
  12. Para modificar una etiqueta de invocación, en la columna Invocar, haga clic en la etiqueta de invocación que quiera modificar y, a continuación, haga clic en Modificar Invocar etiqueta.
  13. Para regenerar las prioridades de todas las directivas vinculadas al punto de enlace que está configurando actualmente, haga clic en Regenerar prioridades. Las directivas mantienen sus prioridades actuales en relación con las demás directivas, pero las prioridades se renumeran en múltiplos de diez.
  14. Haga clic en Aplicar cambios.
  15. Haga clic en Cerrar. Aparece un mensaje en la barra de estado que indica que la directiva se ha configurado correctamente.

Para enlazar una directiva de reescritura a un servidor virtual específico mediante la utilidad de configuración

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales.
  2. En la lista del panel de detalles de servidores virtuales, seleccione el servidor virtual al que quiere vincular la directiva de reescritura y, a continuación, haga clic en Abrir.
  3. En el cuadro de diálogo Configurar servidor virtual (equilibrio de carga), seleccione la ficha Directivas. Todas las directivas configuradas en el dispositivo Citrix ADC aparecen en la lista.
  4. Active la casilla de verificación situada junto al nombre de la directiva que quiere vincular a este servidor virtual.
  5. Haga clic en Aceptar. Aparece un mensaje en la barra de estado que indica que la directiva se ha configurado correctamente.