文档

CreateDomain

更新时间:

调用CreateDomain添加域名配置信息,将您的域名接入WAF实例进行防护。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action

String

CreateDomain

要执行的操作。取值:CreateDomain

InstanceId

String

waf-cn-7pp26f1****

WAF实例的ID。

说明

您可以调用DescribeInstanceInfo查询当前WAF实例的ID。

Domain

String

www.example.com

要添加到WAF防护的域名。

IsAccessProduct

Integer

0

域名在WAF前是否配置有七层代理(例如高防、CDN等),即客户端访问流量到WAF前是否有经过其他七层代理转发。取值:

  • 0:表示否。

  • 1:表示是。

AccessHeaderMode

Integer

0

WAF获取客户端真实IP的方式。取值:

  • 0(默认):表示WAF读取请求头中X-Forwarded-For(XFF)字段的第一个值作为客户端IP。

  • 1:表示WAF读取请求头中由您设置的自定义字段值作为客户端IP。

说明

仅在IsAccessProduct取值为1(表示WAF前有其他七层代理服务)时,需要设置该参数。

AccessHeaders

String

["X-Client-IP"]

设置用于获取客户端IP的自定义字段列表,使用["header1","header2",……]格式表示。

说明

仅在AccessHeaderMode取值为1(表示WAF读取请求头中由您设置的自定义字段值作为客户端IP)时,需要设置该参数。

LogHeaders

String

[{"k":"ALIWAF-TAG","v":"Yes"}]

域名的流量标记字段和值,用于标记经过WAF处理的流量。

该参数值的格式为[{"k":"_key_","v":"_value_"}]。其中,_key_表示所指定的自定义请求头部字段,_value_表示为该字段设定的值。

通过指定自定义请求头部字段和对应的值,当域名的访问流量经过WAF时,WAF自动在请求头部中添加所设定的自定义字段值作为流量标记,便于后端服务统计相关信息。

说明

如果请求中已存在该自定义头部字段,系统将用所设定的流量标记值覆盖请求中该自定义字段的值。

ResourceGroupId

String

rg-atstuj3rtop****

WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。

关于资源组的更多信息,请参见创建资源组

AccessType

String

waf-cloud-dns

域名接入方式。取值:

  • waf-cloud-dns(默认):表示CNAME接入。

  • waf-cloud-native:表示透明接入。

HttpPort

String

[80]

HTTP协议端口列表,使用[port1,port2,……]格式表示。

说明

仅在AccessType取值为waf-cloud-dns(表示域名使用CNAME接入方式)时,需要设置该参数。设置该参数表示域名使用HTTP协议。HttpPortHttpsPort不允许同时为空。

HttpsPort

String

[443]

HTTPS协议端口列表,使用[port1,port2,……]格式表示。

说明

仅在AccessType取值为waf-cloud-dns(表示域名使用CNAME接入方式)时,需要设置该参数。设置该参数表示域名使用HTTPS协议。HttpPortHttpsPort不允许同时为空。

HttpsRedirect

Integer

0

是否开启HTTPS强制跳转。开启强制跳转后,客户端的HTTP请求将被强制跳转成HTTPS请求,默认跳转端口为443。取值:

  • 0(默认):表示关闭。

  • 1:表示开启。

说明

仅在AccessType取值为waf-cloud-dns(表示域名使用CNAME接入方式)且HttpsPort取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。

Http2Port

String

[443]

HTTP 2.0协议端口列表,使用[port1,port2,……]格式表示。

说明

仅在AccessType取值为waf-cloud-dns(表示域名使用CNAME接入方式)且HttpsPort取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。

HttpToUserIp

Integer

0

是否开启HTTP回源。开启HTTP回源后,HTTPS访问请求将通过HTTP协议转发回源站,默认回源端口为80。取值:

  • 0(默认):表示关闭。

  • 1:表示开启。

说明

仅在AccessType取值为waf-cloud-dns(表示域名使用CNAME接入方式)且HttpsPort取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。

IpFollowStatus

Integer

1

源站服务器地址同时包含IPv4和IPv6地址时,是否开启IPv4/IPv6回源协议跟随。开启回源协议跟随后,WAF将来自IPv4地址的请求转发到IPv4源站、将来自IPv6地址的请求转发到IPv6源站。取值:

  • 0(默认):表示关闭。

  • 1:表示开启。

说明

仅在AccessType取值为waf-cloud-dns(表示域名使用CNAME接入方式)时,需要设置该参数。

SourceIps

String

["39.XX.XX.197"]

域名对应的源站服务器IP或服务器回源域名。您只能选择设置源站服务器IP或服务器回源域名中的一种:

  • 设置源站服务器IP时,使用["ip1","ip2",……]格式表示。最多支持添加20个IP。

  • 设置服务器回源域名时,使用["domain"]格式表示。只能填写1个域名地址。

说明

仅在AccessType取值为waf-cloud-dns(表示域名使用CNAME接入方式)时,需要设置该参数。

LoadBalancing

Integer

0

回源时采用的负载均衡算法。取值:

  • 0:表示IP Hash算法。

  • 1:表示轮询算法。

  • 2:表示Least Time算法。

说明

仅在AccessType取值为waf-cloud-dns(表示域名使用CNAME接入方式)时,需要设置该参数。

ClusterType

Integer

0

WAF防护集群类型。取值:

  • 0(默认):表示物理集群。

  • 1:表示虚拟集群,即WAF独享集群。

说明

仅在AccessType取值为waf-cloud-dns(表示域名使用CNAME接入方式)时,需要设置该参数。

ConnectionTime

Integer

5

WAF独享集群的连接超时时长。单位:秒。

说明

仅在AccessType取值为waf-cloud-dns(表示域名使用CNAME接入方式)且ClusterType取值为1(表示域名使用WAF独享集群)时,需要设置该参数。

ReadTime

Integer

120

WAF独享集群的读连接超时时长。单位:秒。

说明

仅在AccessType取值为waf-cloud-dns(表示域名使用CNAME接入方式)且ClusterType取值为1(表示域名使用WAF独享集群)时,需要设置该参数。

WriteTime

Integer

120

WAF独享集群的写连接超时时长。单位:秒。

说明

仅在AccessType取值为waf-cloud-dns(表示域名使用CNAME接入方式)且ClusterType取值为1(表示域名使用WAF独享集群)时,需要设置该参数。

CloudNativeInstances

String

[{"ProtocolPortConfigs":[{"Ports":[80],"Protocol":"http"}],"RedirectionTypeName":"ALB","InstanceId":"alb-s65nua68wdedsp****","IPAddressList":["182.XX.XX.113"],"CloudNativeProductName":"ALB"}]

透明接入的服务器及端口配置列表。使用JSON数组转化的字符串格式表示。JSON数组中的每个元素是一个结构体,包含以下字段:

  • ProtocolPortConfigs:JSON Array类型 | 必选 | 表示协议及端口配置列表。JSON数组中的每个元素是一个结构体,包含以下字段:

    • Ports:Array类型 | 必选 | 表示端口列表,格式为[port1,port2,……]

    • Protocol:String类型 | 必选 | 表示协议类型。取值:httphttps

  • CloudNativeProductName:String类型 | 必选 | 表示云产品实例的类型。取值:ECSSLBALB

  • RedirectionTypeName:String类型 | 必选 | 表示引流端口的类型。取值:ECS(表示ECS端口)、SLB-L4(表示SLB四层端口)、SLB-L7(表示SLB七层端口)、ALB(表示ALB端口)。

  • InstanceId:String类型 | 必选 | 表示云产品实例的ID。

  • IPAddressList:Array类型 | 必选 | 表示云产品实例的公网IP列表。格式为["ip1","ip2",……]

说明

仅在AccessTypewaf-cloud-native(表示域名使用透明接入方式)时,需要设置该参数。

SniStatus

Integer

1

设置是否开启回源SNI。回源SNI表示WAF转发客户端请求到源站服务器,在与源站进行TLS握手时,通过SNI扩展字段(Server Name Indicator extension)指定要访问的主机,并与该主机建立HTTPS连接。如果您的源站服务器有多个虚拟主机(对应不同域名),则您需要开启回源SNI。取值:

  • 0:表示关闭。

  • 1:表示开启。

中国内地WAF实例默认关闭SNI回源;海外地区WAF实例默认开启SNI回源。

说明

仅在AccessType取值为waf-cloud-dns(表示域名使用CNAME接入方式)且HttpsPort取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。

SniHost

String

waf.example.com

自定义SNI扩展字段的值。如果不设置该参数,则默认使用请求头中Host字段的值作为SNI扩展字段的值。

一般情况无需自定义SNI,除非您的业务有特殊配置要求,希望WAF在回源请求中使用与实际请求Host不一致的SNI(即此处设置的自定义SNI)。

说明

仅在SniStatus取值为1(表示开启SNI回源)时,需要设置该参数。

Retry

Boolean

true

WAF回源失败时,是否重试。取值:

  • true(默认):表示重试。

  • false:表示不重试。

Keepalive

Boolean

true

是否保持长连接。取值:

  • true(默认):表示保持长连接。

  • false:表示不保持长连接。

KeepaliveRequests

Integer

1000

复用长连接的请求个数。取值范围:60~1000,单位:个。

说明

开启长连接后,复用多少个长连接。

KeepaliveTimeout

Integer

15

空闲长连接超时时间,取值范围:1~60,默认15,单位:秒。

说明

复用的长连接空闲多长时间后释放。

调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见公共参数

调用API的请求格式,请参见本文示例中的请求示例。

返回数据

名称

类型

示例值

描述

Cname

String

mmspx7qhfvnfzggheh1g2wnbhog66vcv.****.com

WAF为域名分配的CNAME地址。

说明

仅当域名使用CNAME接入方式(请求参数AccessType取值为waf-cloud-dns)时,返回该参数。

RequestId

String

D7861F61-5B61-46CE-A47C-6B19160D5EB0

本次请求的ID。

示例

请求示例

http(s)://[Endpoint]/?Action=CreateDomain
&InstanceId=waf-cn-7pp26f1****
&Domain=www.example.com
&IsAccessProduct=0
&HttpPort=[\"80\"]
&SourceIps=[\"39.XX.XX.197\"]
&<公共请求参数>

正常返回示例

XML格式

<CreateDomainResponse>
	  <Cname>mmspx7qhfvnfzggheh1g2wnbhog66vcv.****.com</Cname>
	  <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>
</CreateDomainResponse>

JSON格式

{
	"Cname": "mmspx7qhfvnfzggheh1g2wnbhog66vcv.****.com",
	"RequestId": "D7861F61-5B61-46CE-A47C-6B19160D5EB0"
}

错误码

访问错误中心查看更多错误码。

  • 本页导读 (1)
文档反馈