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
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:
选择器添加流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
Eliminar una conexión basada en cookies
Ejecute洛杉矶siguientes第一对位interrumpir una conexión en función de las cookies recibidas en las solicitudes dewww.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
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
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