Citrix ADC

Configuración de una acción de reescritura

Advertencia

La función Patrón de una acción de reescritura está obsoleta desde Citrix ADC 12.0 compilación 56.20 en adelante y, como alternativa, Citrix recomienda utilizar el parámetro de acción de reescritura de búsqueda.

Después de habilitar la función de reescritura, debe configurar una o más acciones a menos que una acción de reescritura integrada sea suficiente. Todas las acciones integradas tienen nombres que comienzan con la cadena ns_cvpn, seguido de una cadena de letras y caracteres de subrayado. Las acciones integradas realizan tareas útiles y complejas, como la decodificación de partes de una solicitud o respuesta VPN sin cliente o la modificación de datos JavaScript o XML. Las acciones integradas se pueden ver, habilitar e inhabilitar, pero no se pueden modificar ni eliminar.

Las expresiones de destino en acciones para la reescritura TCP deben comenzar con uno de los prefijos de expresión siguientes:

  • CLIENTE.TCP.PAYLOAD. Para reescribir cargas TCP en solicitudes de cliente. Por ejemplo, CLIENT.TCP.PAYLOAD(10000).AFTER_STR(“string1”).
  • SERVER.TCP.PAYLOAD. Para reescribir cargas TCP en las respuestas del servidor. Por ejemplo, SERVER.TCP.PAYLOAD(1000).B64DECODE.BETWEEN(“string1”,”string2”).

Puede utilizar todos los tipos de funciones de manipulación de cadenas existentes con estos prefijos para identificar las cadenas que quiere reescribir. Para configurar una acción de reescritura, debe asignarle un nombre, especificar un tipo de acción y agregar uno o más argumentos especificando datos adicionales. En la tabla siguiente se describen los tipos de acción y los argumentos que se utilizan con ellos.

Nota:

Los tipos de acción que solo se pueden utilizar para la reescritura HTTP se identifican en la columna Tipo de acción de reescritura.

Consulte Reescribir el tipo de acción (PDF) para obtener más información.

Para crear una nueva acción de reescritura mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba los siguientes comandos para crear una nueva acción de reescritura y verificar la configuración:

  • add rewrite action <name> <type> <target> [<stringBuilderExpr>] [(-pattern <expression> | -patset <string>)] [-bypassSafetyCheck (YES|NO)]
  • show rewrite action <name>

Ejemplo 1. Inserción de un encabezado HTTP con la IP del cliente:

> add rewrite action insertact INSERT_HTTP_HEADER "client-IP" CLIENT.IP.SRC
Done

> show rewrite action insertact

        Name: insertact
        Operation: insert_http_header   Target:Client-IP
        Value:CLIENT.IP.SRC
        BypassSafetyCheck : NO
        Hits: 0
        Undef Hits: 0
        Action Reference Count: 0
 Done

Ejemplo 2. Sustitución de cadenas en una carga útil TCP (reescritura TCP):

> add rewrite action client_tcp_payload_replace_all REPLACE_ALL
  'client.tcp.payload(1000)' '"new-string"' -search text("old-string")
 Done
> show rewrite action client_tcp_payload_replace_all

        Name: client_tcp_payload_replace_all
        Operation: replace_all
        Target:client.tcp.payload(1000)
        Value:"new-string"
        Search: text("old-string")
        BypassSafetyCheck : NO
        Hits: 0
        Undef Hits: 0
        Action Reference Count: 0
 Done
>

Para modificar una acción de reescritura existente mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba los siguientes comandos para modificar una acción de reescritura existente y verificar la configuración:

  • set rewrite action <name> [-target <string>] [-stringBuilderExpr <string>] [(-pattern <expression> | -patset <string>)] [-bypassSafetyCheck (YES|NO)]
  • show rewrite action <name>

Ejemplo:


> set rewrite action insertact -target "Client-IP"
 Done
> show rewrite action insertact

        Name: insertact
        Operation: insert_http_header   Target:Client-IP
        Value:CLIENT.IP.SRC
        BypassSafetyCheck : NO
        Hits: 0
        Undef Hits: 0
        Action Reference Count: 0
 Done

Para eliminar una acción de reescritura mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba los comandos siguientes para quitar una acción de reescritura:

rm rewrite action <name>

Ejemplo:


> rm rewrite action insertact
Done

Para configurar una acción de reescritura mediante la utilidad de configuración

  1. Vaya a AppExpert > Reescribir > Acciones.
  2. En el panel de detalles, realice una de las acciones siguientes:
    • Para crear una nueva acción, haga clic en Agregar.
    • Para modificar una acción existente, selecciónela y, a continuación, haga clic en Abrir.
  3. Haga clic en Crear o Aceptar. Aparece un mensaje en la barra de estado que indica que la acción se ha configurado correctamente.
  4. Repita los pasos 2 a 4 para crear o modificar tantas acciones de reescritura como quiera.
  5. Haga clic en Cerrar.

Para agregar una expresión mediante el cuadro de diálogo Agregar expresión

  1. En el cuadro de diálogo Crear acción de reescritura o Configurar acción de reescritura, en el área de texto del argumento de tipo que quiere escribir, haga clic en Agregar.
  2. En el cuadro de diálogo Agregar expresión, en el primer cuadro de lista, elija el primer término para la expresión.

    • HTTP. El protocolo HTTP. Elija esto si quiere examinar algún aspecto de la solicitud que pertenece al protocolo HTTP.
    • SYS. Los sitios web protegidos. Elija esta opción si quiere examinar algún aspecto de la solicitud que pertenece al destinatario de la solicitud.
    • CLIENT. El equipo que envió la solicitud. Elija esto si quiere examinar algún aspecto del remitente de la solicitud.

Cuando elija, el cuadro de lista situado más a la derecha muestra los términos apropiados para la siguiente parte de la expresión.

  1. En el segundo cuadro de lista, elija el segundo término para su expresión. Las opciones dependen de la elección que haya realizado en el paso anterior y son apropiadas para el contexto. Después de realizar su segunda elección, la ventana Ayuda situada debajo de la ventana Construir expresión (que estaba en blanco) muestra ayuda que describe el propósito y el uso del término que acaba de elegir.

  2. Siga eligiendo términos en los cuadros de lista que aparecen a la derecha del cuadro de lista anterior o escribiendo cadenas o números en los cuadros de texto que aparecen para pedirle que escriba un valor hasta que finalice la expresión. Para obtener más información sobre el lenguaje de expresiones PI y la creación de expresiones para directivas de respuesta, consulte “Directivas y expresiones.”

Si quiere probar el efecto de una acción de reescritura cuando se utiliza en datos HTTP de ejemplo, puede utilizar el Evaluador de expresiones de reescritura.

Nota:

Rewrite Expression Evaluator solo está disponible en la utilidad de configuración. No existe una versión de línea de comandos Citrix ADC.

Para evaluar una acción de reescritura mediante el cuadro de diálogo Volver a escribir el evaluador de acciones

  1. En el panel de detalles de Acciones de reescritura, seleccione la acción de reescritura que quiere evaluar y, a continuación, haga clic en Evaluar.
  2. En el cuadro de diálogo Rewrite Expression Evaluator (Rewrite Expression Evaluator), especifique valores para los siguientes parámetros. (Un asterisco indica un parámetro obligatorio.)

    Acción de reescritura: Si la acción de reescritura que quiere evaluar aún no está seleccionada, selecciónela en la lista desplegable. Después de seleccionar una acción de reescritura, la sección Detalles muestra los detalles de la acción de reescritura seleccionada. Nuevo: Seleccione Nuevo para abrir el cuadro de diálogo Crear acción de reescritura y crear una nueva acción de reescritura. Modificar: Seleccione Modificar para abrir el cuadro de diálogo Configurar acción de reescritura y modificar la acción de reescritura seleccionada. Tipo de flujo: Especifica si se va a probar la acción de reescritura seleccionada con datos de solicitud HTTP o datos de respuesta HTTP. El valor predeterminado es Solicitud. Si quiere probar con los datos de respuesta, seleccione Respuesta. HTTP Request/Response Data*: Proporciona un espacio para proporcionar los datos HTTP que utilizará el Evaluador de acciones de reescritura para las pruebas. Puede pegar los datos directamente en la ventana o hacer clic en Ejemplo para insertar algunos encabezados HTTP de ejemplo. Mostrar fin de línea: Especifica si se deben mostrar caracteres de fin de línea (n) de estilo UNIX al final de cada línea de datos HTTP de ejemplo. Ejemplo: Permite insertar datos HTTP de ejemplo en la ventana HTTP Request/Response Data. Puede elegir datos GET o POST. Examinar (Browse): Permite abrir una ventana de exploración local para que pueda elegir un archivo que contenga datos HTTP de ejemplo de una ubicación local o de red. Borrar (Clear): Borra los datos HTTP de ejemplo actuales de la ventana HTTP Request/Response Data.

  3. Haga clic en Evaluar. El Evaluador de acción de reescritura evalúa el efecto de la acción de reescritura en los datos de ejemplo seleccionados y muestra los resultados modificados por la acción de reescritura seleccionada en la ventana Resultados. Las adiciones y eliminaciones se resaltan como se indica en la leyenda en la esquina inferior izquierda del cuadro de diálogo.
  4. Continúe evaluando las acciones de Reescritura hasta que haya determinado que todas las acciones tienen el efecto deseado.

    • Puede modificar la acción de reescritura seleccionada y probar la versión modificada haciendo clic en Modificar para abrir el cuadro de diálogo Configurar acción de reescritura, realizando y guardando los cambios y, a continuación, haciendo clic de nuevo en Evaluar.
    • Puede evaluar una acción de reescritura diferente mediante los mismos datos de solicitud o respuesta seleccionándola en la lista desplegable Rewrite Action y, a continuación, haciendo clic de nuevo en Evaluar.
  5. Haga clic en Cerrar para cerrar el Evaluador de expresiones de reescritura y volver al panel Acciones de reescritura.

  6. Para eliminar una acción de reescritura, seleccione la acción de reescritura que quiere eliminar, haga clic en Quitar y, cuando se le solicite, confirme su elección haciendo clic en Aceptar.