-
Aplicaciones y plantillas de AppExpert
-
Personalizar la configuración de AppExpert
-
Configurar servicios y grupos de servicios para una unidad de aplicación
-
Configurar dispositivos de punto final públicos para una aplicación
-
Especificar el orden de evaluación de las unidades de aplicación
-
Configurar grupos de persistencia para unidades de aplicación
-
Ver aplicaciones AppExpert y configurar entidades mediante el visualizador de aplicaciones
-
Configurar la autenticación, la autorización y la auditoría de aplicaciones
-
-
Configuración de la expresión de directiva avanzada: Introducción
-
Expresiones de directiva avanzadas: Trabajar con fechas, horas y números
-
Expresiones de directiva avanzadas: Análisis de datos HTTP, TCP y UDP
-
Expresiones para identificar el protocolo en un paquete IP entrante
-
Expresiones para códigos de estado HTTP y datos numéricos de carga HTTP distintos de fechas
-
Operaciones para codificación HTTP, HTML y XML y caracteres "seguros"
-
Expresiones para evaluar un mensaje DNS e identificar su protocolo portadora
-
Expresiones de directiva avanzadas: Análisis de certificados SSL
-
Expresiones de directivas avanzadas: Direcciones IP y MAC, rendimiento, ID de VLAN
-
Expresiones de directiva avanzadas: Funciones de análisis de flujo
-
Ejemplos de resumen de expresiones y directivas de sintaxis predeterminadas
-
Ejemplos de tutoriales de directivas de sintaxis predeterminadas para reescribir
-
Migración de las reglas mod_rewrite de Apache a la sintaxis predeterminada
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
Acerca de las expresiones de texto
Puede configurar varias expresiones para trabajar con texto que fluye a través del dispositivo Citrix ADC. A continuación se presentan algunos ejemplos de cómo se puede analizar el texto mediante una expresión de sintaxis predeterminada:
-
Determine que existe un encabezado HTTP determinado.
Por ejemplo, es posible que quiera identificar las solicitudes HTTP que contienen un encabezado de Accept-Language concreto con el fin de dirigir la solicitud a un servidor determinado.
-
Determine que una URL HTTP concreta contiene una cadena determinada.
Por ejemplo, es posible que quiera bloquear las solicitudes de direcciones URL concretas. Tenga en cuenta que la cadena puede aparecer al principio, al centro o al final de otra cadena.
-
Identifique una solicitud POST dirigida a una aplicación concreta.
Por ejemplo, puede que quiera identificar todas las solicitudes POST que se dirigen a una aplicación de base de datos con el fin de actualizar los datos de aplicación almacenados en caché.
Tenga en cuenta que hay herramientas especializadas para ver el flujo de datos para solicitudes y respuestas HTTP. Puede utilizar las herramientas para ver el flujo de datos.
Acerca de las operaciones en el texto
Una expresión basada en texto consiste en al menos un prefijo para identificar un elemento de datos y generalmente (aunque no siempre) una operación en ese prefijo. Las operaciones basadas en texto pueden aplicarse a cualquier parte de una solicitud o respuesta. Las operaciones básicas en el texto incluyen varios tipos de coincidencias de cadenas.
Por ejemplo, la siguiente expresión compara un valor de encabezado con una cadena:
http.req.header("myHeader").contains("some-text")
Las siguientes expresiones son ejemplos de coincidencia de un tipo de archivo en una solicitud:
http.req.url.suffix.contains("jpeg")
http.req.url.suffix.eq("jpeg")
En los ejemplos anteriores, el operador contiene permite una coincidencia parcial y el operador ecualizador busca una coincidencia exacta.
Otras operaciones están disponibles para dar formato a la cadena antes de evaluarla. Por ejemplo, puede utilizar operaciones de texto para eliminar comillas y espacios en blanco, convertir la cadena a todas las minúsculas o concatenar cadenas.
Nota: Las operaciones
complejas están disponibles para realizar coincidencias basadas en patrones o para convertir un tipo de formato de texto a otro tipo.
Para obtener más información, consulte estos temas:
- Conjuntos de patrones y conjuntos de datos.
- Expresiones regulares.
- Datos de fundición de tipografía.
Compuestos y precedencia en expresiones de texto
Puede aplicar varios operadores para combinar prefijos o expresiones de texto. Por ejemplo, la siguiente expresión concatena los valores devueltos de cada prefijo:
http.req.hostname + http.req.url
Lo que sigue es un ejemplo de una expresión de texto compuesto que utiliza un AND lógico. Ambos componentes de esta expresión deben ser TRUE para que una solicitud coincida con la expresión:
http.req.method.eq(post) && http.req.body(1024).startswith("destination=")
Nota:
Para obtener más información sobre los operadores de composición, consulte Expresiones avanzadas compuestas.
Categorías de expresiones de texto
Las categorías principales de expresiones de texto que puede configurar son:
-
Información en encabezados HTTP, URL HTTP y el cuerpo POST en solicitudes HTTP.
Para obtener más información, consulte Prefijos de expresión para texto en solicitudes y respuestas HTTP.
-
Información sobre una VPN o una VPN sin cliente.
Para obtener más información, consulte Prefijos de expresión para VPN y VPN sin cliente.
-
Información de carga TCP.
Para obtener más información sobre las expresiones de carga útil TCP, consulte Expresiones de directiva avanzadas: análisis de datos HTTP, TCP y UDP.
-
Texto en un certificado de Secure Sockets Layer (SSL).
Para obtener información sobre expresiones de texto para datos de certificados SSL y SSL, consulte Expresiones de directiva avanzadas: análisis de certificados SSL y Expresiones para fechas de certificados SSL.
Nota: El
análisis de un cuerpo de documento, como el cuerpo de una solicitud POST, puede afectar al rendimiento. Es posible que quiera probar el impacto en el rendimiento de las directivas que evalúan un cuerpo de documento.
Directrices para expresiones de texto
Desde el punto de vista del rendimiento, normalmente es mejor usar funciones compatibles con el protocolo en una expresión. Por ejemplo, la siguiente expresión hace uso de una función compatible con protocolos:
HTTP.REQ.URL.QUERY
La expresión anterior funciona mejor que la siguiente expresión equivalente, que se basa en el análisis de cadenas:
HTTP.REQ.URL.AFTER_STR("?")
En el primer caso, la expresión mira específicamente la consulta URL. En el segundo caso, la expresión explora los datos para detectar la primera aparición de un signo de interrogación.
También hay un beneficio de rendimiento del análisis estructurado del texto, como en la siguiente expresión:
HTTP.REQ.HEADER("Example").TYPECAST_LIST_T(',').GET(1)
(Para obtener más información sobre la fundición de tipos, consulte Datos de fundición por tipografía. La expresión de conversión de tipos, que recopila datos delimitados por comas y los estructura en una lista, normalmente tendría un mejor rendimiento que el siguiente equivalente no estructurado:
HTTP.REQ.HEADER("Example").AFTER_STR(",").BEFORE_STR(",")
Por último, las expresiones de texto no estructuradas suelen tener un mejor rendimiento que las expresiones regulares. Por ejemplo, la siguiente es una expresión de texto no estructurada:
HTTP.REQ.HEADER("Example").AFTER_STR("more")
La expresión anterior generalmente proporcionaría un mejor rendimiento que el siguiente equivalente, que usa una expresión regular:
HTTP.REQ.HEADER("Example").AFTER_REGEX(re/more/)
Para obtener más información sobre las expresiones regulares, consulte Expresiones regulares.
Compartir
Compartir
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.