Creates a forwarding rule for a website.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes CreateWebRule

The operation that you want to perform. Set the value to CreateWebRule.

RegionId String No cn-hangzhou

The region ID of the instance. Valid values:

  • cn-hangzhou: Chinese mainland, which indicates Anti-DDoS Pro instances. This is the default value.
  • ap-southeast-1: outside the Chinese mainland, which indicates Anti-DDoS Premium instances
ResourceGroupId String No rg-acfm2pz25js****

The ID of the resource group to which the instance belongs in Resource Management. This parameter is empty by default, which indicates that the instance belongs to the default resource group.

For more information about resource groups, see Create a resource group.

Domain String Yes example.aliyundoc.com

The domain name of the website that you want to add to the instance.

RsType Integer Yes 0

The address type of the origin server. Valid values:

  • 0: IP address
  • 1: domain name The domain name of the origin server is returned if you deploy proxies, such as Web Application Firewall (WAF), between the origin server and the instance. In this case, the address of the proxy, such as the CNAME provided by WAF, is returned.
Rules String Yes [{"ProxyRules":[{"ProxyPort":443,"RealServers":["192.1.XX.XX"]}],"ProxyType":"https"}]

The details of the forwarding rule. The value is a string that consists of JSON arrays. Each element in a JSON array is a JSON struct that contains the following fields:

  • ProxyRules: the information about the origin server. The information includes the port number and IP address. This field is required and must be a JSON array. Each element in a JSON array is a JSON struct that contains the following fields:
    • ProxyPort: the port number. This field is required and must be an integer.
    • RealServers: the IP address. This field is required and must be a string array.
  • ProxyType: the protocol type. This field is required and must be a string. Valid values: http, https, websocket, and websockets.
HttpsExt String No {"Http2":1,"Http2https":1,"Https2http":1}

The advanced HTTPS settings. This parameter takes effect only when the value of the ProxyType parameter includes https. The value is a string that consists of a JSON struct. The JSON struct contains the following fields:

  • Http2https: specifies whether to turn on Enforce HTTPS Routing. This field is optional and must be an integer. Valid values: 0 and 1. The value 0 indicates that Enforce HTTPS Routing is turned off. The value 1 indicates that Enforce HTTPS Routing is turned on. The default value is 0.

    If your website supports both HTTP and HTTPS, this feature meets your business requirements. If you enable this feature, all HTTP requests to access the website are redirected to HTTPS requests on the standard port 443.

  • Https2http: specifies whether to turn on Enable HTTP. This field is optional and must be an integer. Valid values: 0 and 1. The value 0 indicates that Enable HTTP is turned off. The value 1 indicates that Enable HTTP is turned on. The default value is 0.

    If your website does not support HTTPS, this feature meets your business requirements If this feature is enabled, all HTTPS requests are redirected to HTTP requests and forwarded to origin servers. This feature can redirect WebSockets requests to WebSocket requests. Requests are redirected over the standard port 80.

  • Http2: specifies whether to turn on Enable HTTP/2. This field is optional and must be an integer. Valid values: 0 and 1. The value 0 indicates that Enable HTTP/2 is turned off. The value 1 indicates that Enable HTTP/2 is turned on. The default value is 0.

    After you turn on Enable HTTP/2, the protocol type is HTTP/2.

DefenseId String No testid

The ID of the associated defense. This parameter applies to scenarios in which other cloud services, such as Object Storage Service (OSS), are integrated with Anti-DDoS Pro or Anti-DDoS Premium.

Note This parameter is in internal preview. Do not use this parameter.

For example, if you integrate OSS with Anti-DDoS Pro or Anti-DDoS Premium, Anti-DDoS Pro or Anti-DDoS Premium allocates an IP address pool for the OSS production account. Each IP address corresponds to a unique defense ID. A defense ID is a CNAME, which is automatically resolved to the IP address of the required Anti-DDoS Pro or Anti-DDoS Premium instance. A defense ID can be resolved to the same IP address to facilitate scheduling.

Note You can specify only one of the following parameters: InstanceIds and DefenseId.
InstanceIds.N String No ddoscoo-cn-i7m27nf3****

The ID of instance that you want to associate. If you do not specify this parameter, only the domain name of the website is added but no instance is associated with the website.

Note You can call the DescribeInstanceIds operation to query the IDs of all instances.

All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see Common parameters.

For more information about sample requests, see the "Examples" section of this topic.

Response parameters

Parameter Type Example Description
RequestId String 9EC62E89-BD30-4FCD-9CB8-FA53865FF0D7

The ID of the request, which is used to locate and troubleshoot issues.

Examples

Sample requests

http(s)://[Endpoint]/?Action=CreateWebRule
&ResourceGroupId=rg-acfm2pz25js****
&Domain=example.aliyundoc.com
&RsType=0
&Rules=[{"ProxyRules":[{"ProxyPort":443,"RealServers":["192.1.XX.XX"]}],"ProxyType":"https"}]
&HttpsExt={"Http2":1,"Http2https":1,"Https2http":1}
&DefenseId=testid
&InstanceIds=["ddoscoo-cn-i7m27nf3****"]
&<Common request parameters>

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateWebRuleResponse>
    <RequestId>9EC62E89-BD30-4FCD-9CB8-FA53865FF0D7</RequestId>
</CreateWebRuleResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "9EC62E89-BD30-4FCD-9CB8-FA53865FF0D7"
}

Error codes

For a list of error codes, visit the Error Center.