Citrix ADC

Ejemplos de directivas basadas en tarifas

En este tema se enumeran algunos ejemplos de directivas basadas en tarifas.

Limitar el número de solicitudes de una URL

Ejecute los siguientes comandos para limitar el número de solicitudes por segundo desde una URL:

add stream selector ipStreamSelector http.req.url "client.ip.src" add ns limitIdentifier ipLimitIdentifier -threshold 4 -timeSlice 1000 -mode request_rate -limitType smooth -selectorName ipStreamSelector

add responder action myWebSiteRedirectAction redirect ""http: //www.mycompany .com/""

add responder policy ipLimitResponderPolicy "http.req-url.contains("myasp.asp") && sys.check_limit("ipLimitIdentifier")" myWebSiteRedirectaction

bind responder global ipLimitResponderPolicy 100 END -type default
<!--NeedCopy-->

Almacene en caché una respuesta para la URL de la solicitud

Ejecute los siguientes comandos para almacenar en caché una respuesta si la velocidad de URL de la solicitud supera los 5 por cada 20 000 milisegundos:

add stream selector cacheStreamSelector http.req.url add ns limitidentifier cacheRateLimitIdentifier -threshold 5 -timeSlice 2000 -selectorName cacheStreamSelector

add cache policy cacheRateLimitPolicy -rule "http req.method.eq(get) && sys.check_limit "cacheRateLimitIdentifier")" -action cache

bind cache global cacheRateLimitPolicy -priority 10
<!--NeedCopy-->

Eliminar una conexión basada en cookies

Ejecute los siguientes comandos para interrumpir una conexión en función de las cookies recibidas en las solicitudes de www.mycompany.com si las solicitudes superan el límite de velocidad:

add stream selector reqCookieStreamSelector "http req.cookie «value("mycookie")" "client.ip.src.subnet(24)"

add ns limitIdentifier myLimitIdentifier -Threshold 2 -timeSlice 3000 -selectorName reqCookieStreamSelector

add responder action sendRedirectUrl redirect '"http://www.mycompany.com" + http.req.url' -bypassSafetyCheck YES

add responder policy rateLimitCookiePolicy "http. req.url.contains("www.yourcompany.com") && sys check_limit("myLimitIdentifier")" sendRedirectUrl
<!--NeedCopy-->

Eliminar un paquete de DNS de una dirección IP determinada

Ejecute los siguientes comandos para eliminar un paquete de DNS si las solicitudes de una dirección IP de cliente y un dominio DNS en particular superan el límite de velocidad:

add stream selector dropDNSStreamSelector client udp.dns.domain client.ip.src
add ns limitIdentifier dropDNSRateIdentifier -timeslice 20000 -mode request_rate -selectorName dropDNSStreamSelector -maxBandwidth 1 -trapsintimeslice 20

add dns policy dnsDropOnClientRatePolicy "sys check_limit ("dropDNSRateIdentifier")" -drop yes
<!--NeedCopy-->

Limitar el número de solicitudes HTTP del mismo host

Ejecute los siguientes comandos para limitar la cantidad de solicitudes HTTP que llegan del mismo host con una máscara de subred de 32 y tienen la misma dirección IP de destino:

add stream selector ipv6_sel "CLIENT.IPv6.src.subne (32)" CLIENT.IPv6.dst Q.URL
add ns limitIdentifier ipvé_id -imeSlice 20000 -selectorName ipvé_sel
add lb vserver ipv6é_vip HTTP 3ffe::209 80 -persistenceType NONE -cltTimeout 180
add responder action redirect_page redirect ""http://redirectpage.com/""
add responder policy ipvé_resp_pol "SYS.CHECK_LIMIT("ipv6_id")" redirect_page
bind responder global ipv6_resp_pol 5 END -type DEFAULT
<!--NeedCopy-->
Ejemplos de directivas basadas en tarifas