-
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
-
Elementos básicos de una expresión de directiva avanzada
-
Configuración de expresiones de directiva avanzadas en una directiva
-
Configuración de expresiones de directiva avanzadas con nombre
-
Configuración de Expresiones Avanzadas de Directiva Fuera del Contexto de una Directiva
-
-
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!
Elementos básicos de una expresión de directiva avanzada
Una expresión de directiva avanzada consiste, como mínimo, en un prefijo (o un único elemento utilizado en lugar de un prefijo). La mayoría de las expresiones también especifican una operación que se realizará en los datos que identifica el prefijo. Dar formato a una expresión de hasta 1.499 caracteres de la siguiente manera:
<prefix>.<operation> [<compound-operator> <prefix>.<operation>. . .]
donde
-
<prefix>
es un punto de anclaje para iniciar una expresión.
El prefijo es una clave delimitada por períodos que identifica una unidad de datos. Por ejemplo, el prefijo siguiente examina las solicitudes HTTP para la presencia de un encabezado denominado Content-Type:
http.req.header (“Tipo de contenido”)
Los prefijos también se pueden usar por sí mismos para devolver el valor del objeto que el prefijo identifica.
-
<operation>
identifica una evaluación que se va a realizar en los datos identificados por el prefijo.
Por ejemplo, considere la siguiente expresión:
http.req.header (“Tipo de contenido”).eq (“text/html”)
En esta expresión, el siguiente es el componente del operador:
eq (“texto/html”)
Este operador hace que Citrix ADC evalúe cualquier solicitud HTTP que contenga un encabezado Content-Type y, en particular, determine si el valor de este encabezado es igual a la cadena “text/html”. Para obtener más información, consulte “Operaciones. “
-
<compound-operator>
es un operador booleano o aritmético que forma una expresión compuesta a partir de varios elementos de prefijo o prefijo.operation.
Por ejemplo, considere la siguiente expresión:
http.req.header(“Content-Type”).eq(“text/html”) && http.req.url.contains(“.html”)
Prefijos
Un prefijo de expresión representa una parte discreta de datos. Por ejemplo, un prefijo de expresión puede representar una dirección URL HTTP, un encabezado HTTP Cookie o una cadena en el cuerpo de una solicitud HTTP POST. Un prefijo de expresión puede identificar y devolver una amplia variedad de tipos de datos, incluidos los siguientes:
- Una dirección IP de cliente en un paquete TCP/IP
- Hora del sistema Citrix ADC
- Una llamada externa sobre HTTP
- Un tipo de registro TCP o UDP
En la mayoría de los casos, un prefijo de expresión comienza con una de las siguientes palabras clave:
- CLIENTE:
- Identifica una función del cliente que está enviando una solicitud o recibiendo una respuesta, como en los siguientes ejemplos:
- El prefijo client.ip.dst designa la dirección IP de destino en la solicitud o respuesta.
- El prefijo client.ip.src designa la dirección IP de origen.
- HTTP:
- Identifica un elemento en una solicitud HTTP o una respuesta, como en los siguientes ejemplos:
- El prefijo http.req.body (integer) designa el cuerpo de la solicitud HTTP como un objeto de texto de líneas múltiples, hasta la posición de carácter designada en entero.
- El prefijo http.req.header (“header_name”) designa un encabezado HTTP, como se especifica en header_name.
- El prefijo http.req.url designa una URL HTTP en formato codificado en URL.
-
SERVIDOR:
Identifica un elemento del servidor que está procesando una solicitud o enviando una respuesta.
-
SYS:
Identifica una función del dispositivo Citrix ADC que está procesando el tráfico.
Nota: Tenga en cuenta que las directivas DNS solo admiten objetos SYS, CLIENT y SERVER.
Además, en Citrix Gateway, la función VPN sin cliente puede usar los siguientes tipos de prefijos:
-
TEXTO:
Identifica cualquier elemento de texto en una solicitud o respuesta.
-
OBJETIVO:
Identifica el destino de una conexión.
-
URL:
Identifica un elemento en la parte URL de una solicitud o respuesta HTTP.
Como regla general, cualquier prefijo de expresión puede ser una expresión autónoma. Por ejemplo, el prefijo siguiente es una expresión completa que devuelve el contenido del encabezado HTTP especificado en el argumento de cadena (entre comillas):
http.res.header.("myheader")
O puede combinar prefijos con operaciones simples para determinar los valores TRUE y FALSE. Por ejemplo, lo siguiente devuelve un valor TRUE o FALSE:
http.res.header.("myheader").exists
También puede utilizar operaciones complejas en prefijos individuales y varios prefijos dentro de una expresión, como en el ejemplo siguiente:
http.req.url.length + http.req.cookie.length <= 500
Los prefijos de expresión que se pueden especificar dependen de la función Citrix ADC. En la tabla siguiente se describen los prefijos de expresión que son de interés por entidad
Función | Tipos de prefijo de expresión utilizados en la entidad |
---|---|
DNS | SYS, CLIENTE, SERVIDOR |
Responder en funciones de protección | HTTP, SYS, CLIENT |
Conmutación de contenido | HTTP, SYS, CLIENT |
Reescribe | HTTP, SYS, CLIENT, SERVER, URL, TEXT, TARGET, VPN |
Almacenamiento en caché integrado | HTTP, SYS, CLIENTE, SERVIDOR |
Citrix Gateway, acceso sin cliente | HTTP, SYS, CLIENT, SERVER, URL, TEXT, TARGET, VPN |
Cuadro 1 Tipos permitidos de prefijos de expresión en varias funciones de Citrix ADC
Nota: Para obtener más información sobre los prefijos de expresión permitidos en una función, consulte la documentación de esa función.
Expresiones de un solo elemento
El tipo más simple de expresión de directiva avanzada contiene un único elemento. Este elemento puede ser uno de los siguientes:
- Es true. Una expresión de directiva avanzada puede consistir simplemente en el valor verdadero. Este tipo de expresión siempre devuelve un valor TRUE. Es útil para encadenar acciones de directiva y activar expresiones GoTo.
- Falsa. Una expresión de directiva avanzada puede consistir simplemente en el valor false. Este tipo de expresión siempre devuelve un valor de FALSE.
- Prefijo para una expresión compuesta. Por ejemplo, el prefijo HTTP.REQ.HOSTNAME es una expresión completa que devuelve un nombre de host y HTTP.REQ.URL es una expresión completa que devuelve una dirección URL. El prefijo también se puede utilizar junto con operaciones y prefijos adicionales para formar una expresión compuesta.
Operaciones
En la mayoría de las expresiones, también se especifica una operación en los datos que identifica el prefijo. Por ejemplo, supongamos que especifica el prefijo siguiente:
http.req.url
Este prefijo extrae las URL en las solicitudes HTTP. Este prefijo de expresión no requiere que se utilice ningún operador en una expresión. Sin embargo, al configurar una expresión que procesa direcciones URL de solicitud HTTP, puede especificar operaciones que analicen funciones particulares de la dirección URL. A continuación se presentan algunas posibilidades:
- Busque un nombre de host concreto en la URL.
- Busque una ruta en particular en la URL.
- Evalúe la longitud de la URL.
- Busque una cadena en la URL que indique una marca de tiempo y conviértala a GMT.
A continuación se muestra un ejemplo de un prefijo que identifica un encabezado HTTP denominado Servidor y una operación que busca la cadena IIS en el valor del encabezado:
http.res.header("Server").contains("IIS")
A continuación se muestra un ejemplo de un prefijo que identifica nombres de host y una operación que busca la cadena “www.mycompany.com” como el valor del nombre:
http.req.hostname.eq("www.mycompany.com")
Operaciones básicas en prefijos de expresión
En la tabla siguiente se describen algunas de las operaciones básicas que se pueden realizar en prefijos de expresión.
Operación | Determina si o no |
---|---|
CONTIENE ( |
El objeto coincide |
EXISTE | Un elemento en particular está presente en un objeto. Lo que sigue es un ejemplo: Http.res.header (“MyHDR”).exists |
EQ ( |
Un valor no numérico determinado está presente en un objeto. Lo que sigue es un ejemplo: Http.req.method.eq (post) |
EQ ( |
Un valor numérico determinado está presente en un objeto. A continuación se presenta un ejemplo: Client.ip.dst.eq (10.100.10.100) |
LT ( |
El valor de un objeto es menor que un valor determinado. A continuación se presenta un ejemplo: Http.req.content_length.lt (5000) |
GT ( |
El valor de un objeto es mayor que un valor determinado. Lo que sigue es un ejemplo: Http.req.content_length.gt (5) |
En la siguiente tabla se resumen algunos de los tipos de operaciones disponibles.
Tipo de operación | Descripción |
---|---|
Operaciones de texto | Coincide cadenas individuales y conjuntos de cadenas con cualquier parte de un destino. El destino puede ser una cadena completa, el inicio de una cadena o cualquier parte de texto entre el inicio y el final de la cadena. Por ejemplo, puede extraer la cadena “XYZ” de “XYZSOMEText”. O bien, puede comparar un valor de encabezado HTTP con una matriz de cadenas diferentes. También puede transformar texto en otro tipo de datos. Los siguientes son ejemplos: Transformar una cadena en un valor entero, crear una lista a partir de las cadenas de consulta en una URL, y transformar una cadena en un valor de tiempo. |
Operaciones numéricas | Las operaciones numéricas incluyen la aplicación de operadores aritméticos, la evaluación de la longitud del contenido, el número de elementos de una lista, fechas, horas y direcciones IP. |
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.