ADC

Beispiele für tarifbasierte Richtlinien

In diesem Thema werden einige Beispiele für tarifbasierte Richtlinien aufgeführt.

Beschränken Sie die Anzahl der Anfragen von einer URL

Führen Sie die folgenden Befehle aus, um die Anzahl der Anfragen pro Sekunde von einer URL zu begrenzen:

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-->

Eine Antwort für die Anforderungs-URL zwischenspeichern

Führen Sie die folgenden Befehle aus, um eine Antwort zwischenzuspeichern, wenn die URL-Rate der Anforderung 5 pro 20000 Millisekunden überschreitet:

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-->

Eine auf Cookies basierende Verbindung beenden

Führen Sie die folgenden Befehle aus, um eine Verbindung auf der Grundlage der in Anfragen eingegangenen Cookies von www.mycompany.com zu beenden, falls die Anfragen das Ratenlimit überschreiten:

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-->

Löscht ein DNS-Paket von einer bestimmten IP-Adresse

Führen Sie die folgenden Befehle aus, um ein DNS-Paket zu löschen, wenn die Anfragen von einer bestimmten Client-IP-Adresse und DNS-Domäne das Ratenlimit überschreiten:

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-->

Beschränken Sie die Anzahl der HTTP-Anfragen von demselben Host

Führen Sie die folgenden Befehle aus, um die Anzahl der HTTP-Anfragen zu begrenzen, die von demselben Host mit einer Subnetzmaske von 32 eingehen und dieselbe Ziel-IP-Adresse haben:

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-->
Beispiele für tarifbasierte Richtlinien