-
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!
Invocar una llamada HTTP
Después de configurar una llamada HTTP, se invoca la llamada incluyendo la SYS.HTTP_CALLOUT(<name>)
expresión en una regla de directiva de sintaxis predeterminada. En esta expresión,<name>
es el nombre de la llamada HTTP que quiere invocar.
Puede utilizar operadores de expresión de sintaxis predeterminados con la expresión de llamada para procesar la respuesta y, a continuación, realizar una acción adecuada. El tipo de retorno de la respuesta del agente de llamada HTTP determina el conjunto de operadores que puede utilizar en la respuesta. Si la parte de la respuesta que quiere analizar es texto, puede utilizar un operador de texto para analizar la respuesta. Por ejemplo, puede utilizar el <string> operador CONTAINS () para comprobar si la parte especificada de la respuesta contiene una cadena determinada, como en el ejemplo siguiente:
SYS.HTTP_CALLOUT(mycallout).contains("Good IP address")
<!--NeedCopy-->
Si utiliza la expresión anterior en una directiva de respuesta, puede configurar una acción de respuesta adecuada.
Del mismo modo, si la parte de la respuesta que quiere evaluar es un número, puede utilizar un operador numérico como GT (int). Si la respuesta contiene un valor booleano, puede utilizar un operador booleano.
Nota: Una llamada HTTP puede invocarse recursivamente. La recursión de llamada HTTP se puede evitar combinando la expresión de llamada HTTP con una expresión de sintaxis predeterminada que impide la recursión. Para obtener información sobre cómo evitar la recursión de llamadas HTTP, consulte Evitar la recursión de llamadas HTTP.
También puede hacer llamadas HTTP en cascada configurando directivas que invocan cada una de ellas una llamada después de evaluar las llamadas generadas previamente. En este caso, después de que una directiva invoca una llamada, cuando el dispositivo Citrix ADC analiza la llamada antes de enviar la llamada al servidor de llamada, un segundo conjunto de directivas puede evaluar la llamada e invocar llamadas adicionales, que a su vez pueden evaluarse mediante un tercer conjunto de directivas, etc. Tal implementación se describe en el siguiente ejemplo.
En primer lugar, puede configurar una llamada HTTP llamada myCallout1 y, a continuación, configurar una directiva de respuesta, Pol1, para invocar myCallout1. A continuación, puede configurar una segunda llamada HTTP, MyCallout2, y una directiva de respuesta, Pol2. Configurar Pol2 para evaluar myCallout1 e invocar myCallout2. Enlazar ambas directivas de Responder globalmente.
Para evitar la recursión de llamada HTTP, myCallout1 se configura con un encabezado HTTP personalizado único llamado “Request1.” Pol1 está configurado para evitar la recursión de llamada HTTP mediante la expresión de sintaxis predeterminada,
HTTP.REQ.HEADER("Request1").EQ("Callout Request").NOT.
<!--NeedCopy-->
Pol2 utiliza la misma expresión de sintaxis predeterminada, pero excluye el operador.NOT para que la directiva evalúe MyCallout1 cuando el dispositivo Citrix ADC lo analiza. Tenga en cuenta que myCallout2 identifica su propio encabezado único llamado “Request2”, y Pol2 incluye una expresión de sintaxis predeterminada para evitar que MyCallout2 se invoque recursivamente.
Ejemplo:
> add policy httpCallout myCallout1
Done
> set policy httpCallout myCallout1 -IPAddress 10.102.3.95 -port 80 -returnType TEXT -hostExpr
""10.102.3.95"" -urlStemExpr ""/cgi-bin/check_clnt_from_database.pl"" -headers Request1
("Callout Request") -parameters cip(CLIENT.IP.SRC) -resultExpr "HTTP.RES.BODY(100)"
Done
> add responder policy Pol1 "HTTP.REQ.HEADER("Request1").EQ("Callout Request").NOT &&
SYS.HTTP_CALLOUT(myCallout1).CONTAINS("IP Matched")" RESET
Done
> bind responder global Pol1 100 END -type OVERRIDE
Done
> add policy httpCallout myCallout2
Done
> set policy httpCallout myCallout2 -IPAddress 10.102.3.96 -port 80 -returnType TEXT -hostExpr
""10.102.3.96"" -urlStemExpr ""/cgi-bin/check_clnt_location_from_database.pl"" -headers Request2
("Callout Request") -parameters cip(CLIENT.IP.SRC) -resultExpr "HTTP.RES.BODY(200)"
Done
> add responder policy Pol2 "HTTP.REQ.HEADER("Request2").EQ("Callout Request").NOT &&
HTTP.REQ.HEADER("Request1").EQ("Callout Request") && SYS.HTTP_CALLOUT(myCallout2).CONTAINS
("APAC")" RESET
Done
> bind responder global Pol2 110 END -type OVERRIDE
Done
<!--NeedCopy-->
Compartir
Compartir
En este artículo
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.