料金ベースのポリシーの例
このトピックでは、レートベースのポリシーの例をいくつか示します。
URL からのリクエスト数を制限する
次のコマンドを実行して、URL からの 1 秒あたりのリクエスト数を制限します。
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
リクエスト URL のレスポンスをキャッシュする
リクエスト URL レートが 20000 ミリ秒あたり 5 を超える場合は、次のコマンドを実行してレスポンスをキャッシュします。
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
Cookie に基づいて接続をドロップする
リクエストがレート制限を超えた場合、次のコマンドを実行して、www.mycompany.com
からのリクエストで受信した Cookie に基づいて接続を切断します。
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
特定の IP アドレスからの DNS パケットをドロップ
特定のクライアントIPアドレスとDNSドメインからのリクエストがレート制限を超えた場合に,次のコマンドを実行して DNS パケットをドロップします。
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
同じホストからの HTTP リクエスト数を制限する
次のコマンドを実行して、同じホストから送信される、サブネットマスクが 32 で、宛先 IP アドレスが同じの HTTP 要求の数を制限します。
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
コピー完了
コピー失敗