Creates or modifies a custom rule for frequency control (HTTP flood mitigation) of website services.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
yundun-ddoscoo:ConfigWebCCRuleV2 |
update |
*All Resource
|
None | None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| Domain |
string |
Yes |
The domain name of the website service. Note
The domain name must have a website service forwarding rule configured. You can call DescribeDomains to query all domain names. |
www.example.com |
| RuleList |
string |
Yes |
The configuration of the frequency control rule, expressed as a JSON-formatted string with the following structure:
|
[{"action":"block","name":"trdsss","statistics":{"mode":"count","field":"header","header_name":"hahah"},"ratelimit":{"interval":60,"ttl":300,"threshold":70,"target":"ip"},"status_code":{"enabled":true,"code":404,"use_ratio":true,"ratio_threshold":80,"count_threshold":2},"condition":[{"field":"ip","match_method":"belong","content":"1.1.1.1"}]}] |
| Expires |
integer |
No |
The validity period of the rule. Unit: seconds. Default value: 0, which indicates that the rule is permanently effective. |
0 |
Valid values and mappings of field and match_method
| Match field (field) | Description | Applicable logical operators (match_method) |
| ip | The source IP address of the request. | belong: belongs to nbelong: does not belong to ipinlist: in the list ipninlist: not in the list |
| uri | The URI of the request. | contain: contains ncontain: does not contain equal: equals nequal: does not equal lless: length less than lequal: length equals lgreat: length greater than prefix: prefix match inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| referer | The source URL of the request, which indicates the page from which the request was redirected. | contain: contains ncontain: does not contain equal: equals nequal: does not equal lless: length less than lequal: length equals lgreat: length greater than nexist: does not exist inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| user-agent | The browser-related information of the client that initiates the request, such as the identifier of the browser, rendering engine identity, and version information. | contain: contains ncontain: does not contain equal: equals nequal: does not equal lless: length less than lequal: length equals lgreat: length greater than inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| params | Request parameter part of the request URL, which typically refers to the part after "?" in the URL. For example, action=login is request parameter part in demo.aliyundoc.com/index.html?action=login. | contain: contains ncontain: does not contain equal: equals nequal: does not equal lless: length less than lequal: length equals lgreat: length greater than inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| cookie | The cookie information in the request. | contain: contains ncontain: does not contain equal: equals nequal: does not equal lless: length less than lequal: length equals lgreat: length greater than nexist: does not exist inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| content-type | The HTTP content type (MIME type) specified in the request. | contain: contains ncontain: does not contain equal: equals nequal: does not equal lless: length less than lequal: length equals lgreat: length greater than inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| x-forwarded-for | The real IP address of the client. X-Forwarded-For (XFF) is an HTTP request header field used to identify the original IP address of a client that connects through an HTTP proxy or load balancer. This field is included only in requests forwarded through an HTTP proxy or load balancer. | contain: contains ncontain: does not contain equal: equals nequal: does not equal lless: length less than lequal: length equals lgreat: length greater than nexist: does not exist inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| content-length | The number of bytes contained in the request. | vless: value less than vequal: value equals vgreat: value greater than |
| post-body | The body content of the request. | contain: contains ncontain: does not contain equal: equals nequal: does not equal inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| http-method | The method of the request, such as GET or POST. | equal: equals nequal: does not equal inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| header | The header information of the request, used for custom HTTP header fields. | contain: contains ncontain: does not contain equal: equals nequal: does not equal lless: length less than lequal: length equals lgreat: length greater than nexist: does not exist inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| scheme | The protocol of the request, such as HTTP or HTTPS. | equal: equals nequal: does not equal |
| protocol | The HTTP version of the request, such as HTTP/1.0, HTTP/1.1, or HTTP/2.0. | equal: equals nequal: does not equal inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| http2-fingerprint | The HTTP 2.0 fingerprint of the request. | equal: equals nequal: does not equal inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| ja3-fingerprint | The JA3 fingerprint of the request. | equal: equals nequal: does not equal inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| ja4-fingerprint | The JA4 fingerprint of the request. | equal: equals nequal: does not equal inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| area | The continent or country of the request. | areainlist: location blacklist selection |
| uri-path | The URI path of the request. | contain: contains ncontain: does not contain equal: equals nequal: does not equal lless: length less than lequal: length equals lgreat: length greater than prefix: prefix match inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| cookie-name | The custom cookie. | contain: contains ncontain: does not contain equal: equals nequal: does not equal lless: length less than lequal: length equals lgreat: length greater than prefix: prefix match inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| query-parameter | The custom query parameter. | contain: contains ncontain: does not contain equal: equals nequal: does not equal lless: length less than lequal: length equals lgreat: length greater than prefix: prefix match inlist: equals one of multiple values ninlist: does not equal any of multiple values |
| server-port | The server port of the request. | vless: value less than vequal: value equals vgreat: value greater than |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
|||
| RequestId |
string |
The ID of the request. Alibaba Cloud generates a unique identifier for each request. You can use the ID to troubleshoot issues. |
0bcf28g5-d57c-11e7-9bs0-d89d6717dxbc |
Examples
Success response
JSON format
{
"RequestId": "0bcf28g5-d57c-11e7-9bs0-d89d6717dxbc"
}
Error codes
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.