-
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
-
-
Evitar la recursión de llamada HTTP
-
Caso de uso: Filtrar clientes mediante una lista negra de IP
-
Caso de uso: Soporte de ESI para obtener y actualizar contenido dinámicamente
-
-
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!
Evitar la recursión de llamada HTTP
Aunque el dispositivo Citrix ADC no comprueba la validez de la solicitud de llamada HTTP, analiza la solicitud una vez antes de enviar la solicitud al agente de llamada HTTP. Este análisis permite al dispositivo tratar la solicitud de llamada como cualquier otra solicitud entrante, lo que a su vez le permite configurar varias funciones útiles de Citrix ADC (como el almacenamiento en caché integrado) para trabajar en la solicitud de llamada.
Sin embargo, durante este análisis, la solicitud de llamada HTTP puede seleccionar la misma directiva y, por lo tanto, invocarse recursivamente. El dispositivo detecta la invocación recursiva y genera una condición indefinida (UNDEF). Sin embargo, la invocación recursiva da como resultado que los contadores de selección de directivas y llamadas HTTP se incrementen en dos recuentos cada uno en lugar de un recuento cada uno.
Para evitar que una llamada se invoque a sí misma, debe identificar al menos una función única de la solicitud de llamada HTTP y, a continuación, excluir todas las solicitudes con esta función de ser procesadas por la regla de directiva que invoca la llamada. Para ello, incluya otra expresión de sintaxis predeterminada en la regla de directiva. La expresión debe preceder a la SYS.HTTP_CALLOUT(<name>)
expresión para que se evalúe antes de que se evalúe la expresión de llamada. Por ejemplo:
<Expression that prevents callout recursion> OR SYS.HTTP_CALLOUT(<name>)
<!--NeedCopy-->
Cuando configura una regla de directiva de esta manera, cuando el dispositivo genera la solicitud y la analiza, la regla compuesta se evalúa como FALSE, la llamada no se genera una segunda vez y los contadores de selección se incrementan correctamente.
Una forma de asignar una función única a una solicitud de llamada HTTP es incluir un encabezado HTTP personalizado único al configurar la llamada. Lo que sigue es un ejemplo de una llamada HTTP llamada “myCallout.” La llamada genera una solicitud HTTP que comprueba si la dirección IP de un cliente está presente en una base de datos de direcciones IP en la lista de prohibidos. La llamada incluye un encabezado personalizado llamado “Solicitud”, que se establece en el valor “Solicitud de llamada.” Una directiva de respuesta enlazada globalmente, “Pol1”, invoca la llamada HTTP pero excluye todas las solicitudes cuyo encabezado de solicitud está establecido en este valor, evitando así una segunda invocación de myCallout. La expresión que impide una segunda invocación es HTTP.REQ.HEADER (“Solicitud”).EQ (“Solicitud de llamada”).NOT.
Ejemplo:
> add policy httpCallout myCallout
Done
> set policy httpCallout myCallout -IPAddress 10.102.3.95 -port 80 -returnType TEXT -hostExpr ""10.102.3.95"" -urlStemExpr ""/cgi-bin/check_clnt_from_database.pl"" -headers Request("Callout Request") -parameters cip(CLIENT.IP.SRC) -resultExpr "HTTP.RES.BODY(100)"
Done
> add responder policy Pol1 "HTTP.REQ.HEADER("Request").EQ("Callout Request").NOT && SYS.HTTP_CALLOUT(myCallout).CONTAINS("IP Matched")" RESET
Done
> bind responder global Pol1 100 END -type OVERRIDE
Done
<!--NeedCopy-->
Nota:También puede configurar una expresión para comprobar si la URL de solicitud incluye la expresión madre configurada para la llamada HTTP. Para implementar la solución, asegúrese de que el agente de llamada HTTP solo puede responder a las llamadas HTTP y no a otras solicitudes dirigidas a través del dispositivo. Si el agente de llamada HTTP es una aplicación o servidor web que atiende otras solicitudes de cliente, dicha expresión impide que el dispositivo procese esas solicitudes de cliente. En su lugar, utilice un encabezado personalizado único como se describió anteriormente.
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.