-
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!
Ejemplos de resumen de expresiones y directivas de sintaxis predeterminadas
La tabla siguiente proporciona ejemplos de expresiones de sintaxis predeterminadas que puede utilizar como base para sus propias expresiones de sintaxis predeterminadas.
Cuadro 1 Ejemplos de expresiones de sintaxis predeterminadas
Tipo de expresión | Expresiones de ejemplo |
---|---|
Mire el método utilizado en la solicitud HTTP. | http.req.method.eq(post) http.req.method.eq(get) |
Compruebe el valor del encabezado Cache-Control o Pragma en una solicitud HTTP (req) o respuesta (res). |
http.req.header("Cache-Control").contains("no-store") http.req.header("Cache-Control").contains("no-cache") http.req.header("Pragma").contains("no-cache") http.res.header("Cache-Control").contains("private") http.res.header("Cache-Control").contains("public") http.res.header("Cache-Control").contains("must-revalidate")http.res.header("Cache-Control").contains ("proxy-revalidate") http.res.header("Cache-Control").contains("max-age")
|
Compruebe la presencia de un encabezado en una solicitud (req) o respuesta (res). | http.req.header("myHeader").exists http.res.header("myHeader").exists |
Busque un tipo de archivo concreto en una solicitud HTTP basada en la extensión de archivo. | http.req.url.contains(".html") http.req.url.contains(".cgi")http.req.url.contains(".asp") http.req.url.contains(".exe") http.req.url.contains(".cfm") http.req.url.contains(".ex") http.req.url.contains(".shtml") http.req.url.contains(".htx") http.req.url.contains("/cgi-bin/") http.req.url.contains("/exec/") http.req.url.contains("/bin/") |
Busque cualquier cosa que no sea un tipo de archivo particular en una solicitud HTTP. | http.req.url.contains(".gif").not; http.req.url.contains(".jpeg").not |
Compruebe el tipo de archivo que se está enviando en una respuesta HTTP basada en el encabezado Content-Type. | http.res.header("Content-Type").contains("text") http.res.header("Content-Type").contains "application/msword") http.res.header("Content-Type").contains("vnd.ms-excel") http.res.header("Content-Type").contains("application/vnd.ms-powerpoint"); http.res.header("Content-Type").contains("text/css"); http.res.header("Content-Type").contains("text/xml"); http.res.header("Content-Type").contains("image/") |
Compruebe si esta respuesta contiene un encabezado de caducidad. | http.res.header("Expires").exists |
Compruebe si hay un encabezado Set-Cookie en una respuesta. | http.res.header("Set-Cookie").exists |
Compruebe el agente que envió la respuesta. | http.res.header("User-Agent").contains("Mozilla/4.7") http.res.header("User-Agent").contains("MSIE") |
Compruebe si los primeros 1024 bytes del cuerpo de una solicitud comienzan con la cadena “algún texto”. | http.req.body(1024).contains("some text") |
En la tabla siguiente se muestran ejemplos de configuraciones y enlaces de directivas para funciones de uso común.
Tabla 2. Ejemplos de expresiones y directivas de sintaxis predeterminadas
Propósito | Ejemplo |
---|---|
Utilice la función de reescritura para reemplazar las apariciones de http:// with https:// en el cuerpo de una respuesta HTTP. |
add rewrite action httpRewriteAction replace_all http.res.body(50000) "\"https://\"" -pattern http:// add rewrite policy demo_rep34312 "http.res.body(50000).contains(\"http://\")" httpRewriteAction |
Reemplace todas las apariciones de “abcd” por “1234” en los primeros 1000 bytes del cuerpo HTTP. | add rewrite action abcdTo1234Action replace_all "http.req.body(1000)" "\"1234\"" -pattern abcd add rewrite policy abcdTo1234Policy "http.req.body(1000).contains(\"abcd\")" abcdTo1234Action bind rewrite global abcdTo1234Policy 100 END -type REQ_OVERRIDE |
Rebaja la versión HTTP a 1.0 para evitar que el servidor fragmente las respuestas HTTP. | add rewrite action downgradeTo1.0Action replace http.req.version.minor "\"0\"" add rewrite policy downgradeTo1.0Policy "http.req.version.minor.eq(1)" downgradeTo1.0Action bind lb vserver myLBVserver -policyName downgradeTo1.0Policy -priority 100 -gotoPriorityExpression NEXT -type REQUEST |
Elimine las referencias al protocolo HTTP o HTTPS en todas las respuestas, de modo que si la conexión del usuario es HTTP, el vínculo se abra mediante HTTP, y si la conexión del usuario es HTTPS, el vínculo se abre mediante HTTPS. | add rewrite action remove_http_https replace_all "http.res.body(1000000).set_text_mode(ignorecase)" "\"//\"" -pattern "re~https?://|HTTPS?://~" add rewrite policy remove_http_https true remove_http_https bind lb vserver test_vsvr -policyName remove_http_https -priority 20 -gotoPriorityExpression NEXT -type RESPONSE |
Vuelva a escribir instancias de http: A https: En todas las URL. | add responder action httpToHttpsAction redirect "\"https://\" + http.req.hostname + http.req.url" -bypassSafetyCheck YES add responder policy httpToHttpsPolicy "!CLIENT.SSL.IS_SSL" httpToHttpsAction bind responder global httpToHttpsPolicy 1 END -type OVERRIDE |
Modifique una URL para redirigir de la URL A a la URL B. En este ejemplo, “file5.html” se agrega a la ruta. | add responder action appendFile5Action redirect \"http://\" + http.req.hostname + http.req.url + \"/file5.html\"" -bypassSafetyCheck YES add responder policy appendFile5Policy "http.req.url.eq(\"/testsite\")" appendFile5Action bind responder global appendFile5Policy 1 END -type OVERRIDE |
Redirigir una URL externa a una URL interna. | add rewrite action act_external_to_internal REPLACE 'http.req.hostname.server' '"www.my.host.com"' add rewrite policy pol_external_to_internal 'http.req.hostname.server.eq("www.external.host.com")' act_external_to_internal bind rewrite global pol_external_to_internal 100 END -type REQ_OVERRIDE |
Redirigir las solicitudes a www.example.com que tienen una cadena de consulta a www.webn.example.com. El valor n se deriva de un parámetro de servidor en la cadena de consulta, por ejemplo, server=5. | add rewrite action act_redirect_query REPLACE q#http.req.header("Host").before_str(".example.com")' '"Web" + http.req.url.query.value("server")# add rewrite policy pol_redirect_query q#http.req.header("Host").eq("www.example.com") && http.req.url.contains("?")' act_redirect_query# |
Limite el número de solicitudes por segundo desde una URL. | add ns limitSelector ip_limit_selector http.req.url "client.ip.src" add ns limitIdentifier ip_limit_identifier -threshold 4 -timeSlice 3600 -mode request_rate -limitType smooth -selectorName ip_limit_selector add responder action my_Web_site_redirect_action redirect "\"http://www.mycompany.com/\"" add responder policy ip_limit_responder_policy "http.req.url.contains(\"myasp.asp\") && sys.check_limit (\"ip_limit_identifier\")" my_Web_site_redirect_action bind responder global ip_limit_responder_policy 100 END -type default |
Compruebe la dirección IP del cliente pero pase la solicitud sin modificar la solicitud. | add rewrite policy check_client_ip_policy 'HTTP.REQ.HEADER ("x-forwarded-for").EXISTS HTTP.REQ.HEADER ("client-ip").EXISTS' NOREWRITE bind rewrite global check_client_ip_policy 100 END |
Elimine los encabezados antiguos de una solicitud e inserte un encabezado NS-Client. | add rewrite action del_x_forwarded_for delete_http_header x-forwarded-for add rewrite action del_client_ip delete_http_header client-ip add rewrite policy check_x_forwarded_for_policy 'HTTP.REQ.HEADER("x-forwarded-for").EXISTS' del_x_forwarded_for add rewrite policy check_client_ip_policy 'HTTP.REQ.HEADER("client-ip").EXISTS' del_client_ip add rewrite action insert_ns_client_header insert_http_header NS-Client 'CLIENT.IP.SRC' add rewrite policy insert_ns_client_policy 'HTTP.REQ.HEADER("x-forwarded-for").EXISTS HTTP.REQ.HEADER("client-ip").EXISTS' insert_ns_client_header bind rewrite global check_x_forwarded_for_policy 100 200 bind rewrite global check_client_ip_policy 200 300 bind rewrite global insert_ns_client_policy 300 END |
Elimine los encabezados antiguos de una solicitud, inserte un encabezado NS-Client y, a continuación, modifique la acción “insertar encabezado” para que el valor del encabezado insertado contenga los valores IP del cliente de los encabezados antiguos y la dirección IP de conexión del dispositivo Citrix ADC. Tenga en cuenta que este ejemplo repite el ejemplo anterior, con la excepción de la acción de reescritura final del conjunto. | add rewrite action del_x_forwarded_for delete_http_header x-forwarded-for add rewrite action del_client_ip delete_http_header client-ip add rewrite policy check_x_forwarded_for_policy 'HTTP.REQ.HEADER("x-forwarded-for").EXISTS' del_x_forwarded_for add rewrite policy check_client_ip_policy 'HTTP.REQ.HEADER("client-ip").EXISTS' del_client_ip add rewrite action insert_ns_client_header insert_http_header NS-Client 'CLIENT.IP.SRC' add rewrite policy insert_ns_client_policy 'HTTP.REQ.HEADER("x-forwarded-for").EXISTS HTTP.REQ.HEADER("client-ip").EXISTS' insert_ns_client_header bind rewrite global check_x_forwarded_for_policy 100 200 bind rewrite global check_client_ip_policy 200 300 bind rewrite global insert_ns_client_policy 300 END set rewrite action insert_ns_client_header -stringBuilderExpr 'HTTP.REQ.HEADER("x-forwarded-for").VALUE(0) + " " + HTTP.REQ.HEADER("client-ip").VALUE(0) + " " + CLIENT.IP.SRC' -bypassSafetyCheck YES |
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.