Adds a domain name to Web Application Firewall (WAF).
Debugging
Authorization information
The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action
policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:
- Operation: the value that you can use in the Action element to specify the operation on a resource.
- Access level: the access level of each operation. The levels are read, write, and list.
- Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
- For mandatory resource types, indicate with a prefix of * .
- If the permissions cannot be granted at the resource level,
All Resources
is used in the Resource type column of the operation.
- Condition Key: the condition key that is defined by the cloud service.
- Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
Operation | Access level | Resource type | Condition key | Associated operation |
---|---|---|---|---|
yundun-waf:CreateDomain | create | *All Resources * |
| none |
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
InstanceId | string | Yes | The ID of the Web Application Firewall (WAF) instance. Note
You can call the DescribeInstance operation to obtain the ID of the WAF instance.
| waf_cdnsdf3**** |
ResourceManagerResourceGroupId | string | No | The ID of the resource group. | rg-acfm***q |
Domain | string | Yes | The domain name that you want to add to WAF. | www.aliyundoc.com |
Listen | object | Yes | The listener configurations. | |
HttpsPorts | array | No | The HTTPS listener ports. | |
integer | No | The HTTPS listener port. Specify the value in the [port1,port2,...,portN] format. | [443,8443] | |
HttpPorts | array | No | The HTTP listener ports. | |
integer | No | The HTTP listener port. Specify the value in the [port1,port2,...] format. | [80,81] | |
Http2Enabled | boolean | No | Specifies whether to enable HTTP/2. This parameter is available only if you specify HttpsPorts. Valid values:
| true |
CertId | string | No | The ID of the certificate that you want to add. This parameter is available only if you specify HttpsPorts. | 123 |
SM2Enabled | boolean | No | Specifies whether to add an SM certificate. | true |
SM2CertId | string | No | The ID of the SM certificate that you want to add. This parameter is available only if you set SM2Enabled to true. | 123-cn-hangzhou |
SM2AccessOnly | boolean | No | Specifies whether to allow access only from SM certificate-based clients. This parameter is available only if you set SM2Enabled to true.
| true |
TLSVersion | string | No | The Transport Layer Security (TLS) version that you want to add. This parameter is available only if you specify HttpsPorts. Valid values:
| tlsv1 |
EnableTLSv3 | boolean | No | Specifies whether to support TLS 1.3. This parameter is available only if you specify HttpsPorts. Valid values:
| true |
CipherSuite | integer | No | The type of the cipher suites that you want to add. This parameter is available only if you specify HttpsPorts. Valid values:
| 2 |
CustomCiphers | array | No | The custom cipher suites that you want to add. | |
string | No | The custom cipher suite that you want to add. This parameter is available only if you set CipherSuite to 99. | ["xxx","ffas"] | |
FocusHttps | boolean | No | Specifies whether to enable force redirect from HTTP to HTTPS for received requests. This parameter is available only if you specify HttpsPorts and leave HttpPorts empty. Valid values:
| true |
XffHeaderMode | integer | No | The method that is used to obtain the originating IP address of a client. Valid values:
| 1 |
XffHeaders | array | No | The custom header fields that are used to obtain the originating IP address of a client. | |
string | No | The custom header field that is used to obtain the originating IP address of a client. Specify the value in the ["header1","header2",...] format. Note
This parameter is required only if you set XffHeaderMode to 2.
| ["Client-ip","cip"] | |
IPv6Enabled | boolean | No | Specifies whether to enable IPv6 protection. Valid values:
| true |
ProtectionResource | string | No | The type of the protection resource. Valid values:
| share |
ExclusiveIp | boolean | No | Specifies whether to enable the exclusive IP address feature. This parameter is available only if you set IPv6Enabled to false and ProtectionResource to share. Valid values:
| true |
Redirect | object | Yes | The forwarding configurations. | |
Backends | array | No | The IP addresses or domain names of the origin server. | |
string | No | The IP address or domain name of the origin server. You cannot specify both IP addresses and domain names. If you specify domain names, the domain names can be resolved only to IPv4 addresses.
| [ "1.1.XX.XX", "2.2.XX.XX" ] | |
Loadbalance | string | Yes | The load balancing algorithm that you want to use to forward requests to the origin server. Valid values:
| roundRobin |
FocusHttpBackend | boolean | No | Specifies whether to enable force redirect from HTTPS to HTTP for back-to-origin requests. This parameter is available only if you specify HttpsPorts. Valid values:
| true |
SniEnabled | boolean | No | Specifies whether to enable the Server Name Indication (SNI) feature for back-to-origin requests. This parameter is available only if you specify HttpsPorts. Valid values:
| true |
SniHost | string | No | The custom value of the SNI field. If you do not specify this parameter, the value of the Host header field is automatically used. In most cases, you do not need to specify a custom value for the SNI field. However, if you want WAF to use an SNI field whose value is different from the value of the Host header field in back-to-origin requests, you can specify a custom value for the SNI field. Note
This parameter is required only if you set SniEnabled to true.
| www.aliyundoc.com |
RequestHeaders | array<object> | No | The custom header fields, which are key-value pairs. The fields are used to mark requests that pass through WAF. When a request passes through WAF, WAF automatically adds the custom header fields to the request to mark the request. This way, the backend service can identify requests that are processed by WAF. | |
object | No | The custom header field. Specify the value in the [{"k":"key","v":"value"}] format. key specifies the key of a custom header field. value specifies the value of a custom header field. | ||
Key | string | No | The key of the custom header field. | aaa |
Value | string | No | The value of the custom header field. | bbb |
ConnectTimeout | integer | No | The timeout period of connections. Unit: seconds. Valid values: 1 to 3600. | 120 |
ReadTimeout | integer | No | The timeout period of read connections. Unit: seconds. Valid values: 1 to 3600. | 200 |
WriteTimeout | integer | No | The timeout period of write connections. Unit: seconds. Valid values: 1 to 3600. | 200 |
CnameEnabled | boolean | No | Specifies whether to enable the public cloud disaster recovery feature. Valid values:
| true |
RoutingRules | string | No | The forwarding rules for the hybrid cloud mode. 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:
| [ { "rs": [ "1.1.XX.XX" ], "locationId": 535, "location": "test1111" } ] |
Keepalive | boolean | No | Specifies whether to enable the persistent connection feature. Valid values:
| true |
Retry | boolean | No | Specifies whether WAF retries if WAF fails to forward requests to the origin server. Valid values:
| true |
KeepaliveRequests | integer | No | The number of reused persistent connections. Valid values: 60 to 1000. Note
This parameter specifies the number of persistent connections that can be reused after you enable the persistent connection feature.
| 1000 |
KeepaliveTimeout | integer | No | The timeout period of idle persistent connections. Valid values: 1 to 60. Default value: 15. Unit: seconds. Note
This parameter specifies the period of time after which an idle persistent connection is closed.
| 15 |
XffProto | boolean | No | Specifies whether to use the X-Forward-For-Proto header field to pass the protocol used by WAF to forward requests to the origin server. Valid values:
| true |
BackupBackends | array | No | The secondary IP addresses or domain names of the origin server. | |
string | No | The secondary IP address or domain name of the origin server. You cannot specify both IP addresses and domain names. If you specify domain names, the domain names can be resolved only to IPv4 addresses.
| [ "1.1.XX.XX", "2.2.XX.XX" ] | |
RegionId | string | Yes | The region where the WAF instance resides. Valid values:
| cn-hangzhou |
AccessType | string | No | The mode in which you want to add the domain name to WAF. Valid values:
| share |
Tag | array<object> | No | The tags. You can specify up to 20 tags. | |
object | No | The tag. You can specify up to 20 tags. | ||
Key | string | No | The key of the tag. | Tagkey1 |
Value | string | No | The value of the tag. | TagValue1 |
Response parameters
Examples
Sample success responses
JSON
format
{
"RequestId": "D7861F61-5B61-46CE-A47C-6B19160D****",
"DomainInfo": {
"Cname": "xxxxxwww.****.com",
"Domain": "www.aliyundoc.com",
"DomainId": "www.aliyundoc.com-waf"
}
}
Error codes
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|---|---|
2024-12-12 | The request parameters of the API has changed. The response structure of the API has changed | View Change Details |
2024-11-28 | The internal configuration of the API is changed, but the call is not affected | View Change Details |
2024-01-30 | The internal configuration of the API is changed, but the call is not affected | View Change Details |
2023-04-27 | The request parameters of the API has changed | View Change Details |
2023-04-18 | The request parameters of the API has changed | View Change Details |
2023-03-31 | The request parameters of the API has changed | View Change Details |