更新时间:2022-09-08 GMT+08:00
分享

创建云模式防护域名

功能介绍

创建云模式防护域名

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v1/{project_id}/waf/instance

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,对应华为云控制台用户名->我的凭证->项目列表->项目ID

表2 Query参数

参数

是否必选

参数类型

描述

enterprise_project_id

String

您可以通过调用企业项目管理服务(EPS)的查询企业项目列表接口(ListEnterpriseProject)查询企业项目id

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

Content-Type

String

内容类型

缺省值:application/json;charset=utf8

表4 请求Body参数

参数

是否必选

参数类型

描述

hostname

String

域名(域名只能由字母、数字、-、_和.组成,长度不能超过64个字符,如www.domain.com)

policyid

String

防护域名初始绑定的策略ID,可以通过策略名称调用查询防护策略列表(ListPolicy)接口查询到对应的策略id

server

Array of CloudWafServer objects

防护域名的源站服务器配置信息

certificateid

String

证书id,通过查询证书列表接口(ListCertificates)接口获取证书id

  • 对外协议为HTTP时不需要填写

  • 对外协议HTTPS时为必填参数

certificatename

String

证书名

  • 对外协议为HTTP时不需要填写

  • 对外协议HTTPS时为必填参数

web_tag

String

网站名称,对应WAF控制台域名详情中的网站名称

exclusive_ip

Boolean

是否使用独享ip

  • true:使用独享ip

  • false:不实用独享ip

paid_type

String

套餐付费模式,目前只支持prePaid预付款模式

proxy

Boolean

防护域名是否使用代理

  • false:不使用代理

  • true:使用代理

lb_algorithm

String

LB负载均衡,仅专业版(原企业版)和铂金版(原旗舰版)支持配置负载均衡算法

  • 源IP Hash:将某个IP的请求定向到同一个服务器

  • 加权轮询:所有请求将按权重轮流分配给源站服务器

  • Session Hash:将某个Session标识的请求定向到同一个源站服务器,请确保在域名添加完毕后配置攻击惩罚的流量标识,否则Session Hash配置不生效

枚举值:

  • ip_hash

  • round_robin

  • session_hash

description

String

域名描述

表5 CloudWafServer

参数

是否必选

参数类型

描述

front_protocol

String

客户端请求访问防护域名源站服务器的协议

枚举值:

  • HTTP

  • HTTPS

back_protocol

String

WAF转发客户端请求到防护域名源站服务器的协议

枚举值:

  • HTTP

  • HTTPS

weight

Integer

源站权重,负载均衡算法将按该权重将请求分配给源站,默认值是1,云模式的冗余字段

address

String

客户端访问的源站服务器的IP地址

port

Integer

WAF转发客户端请求到源站服务的业务端口

type

String

源站地址为ipv4或ipv6

枚举值:

  • ipv4

  • ipv6

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

id

String

域名id

hostname

String

创建的云模式防护域名

policyid

String

策略id

access_code

String

cname前缀

protect_status

Integer

域名防护状态:

  • -1:bypass,该域名的请求直接到达其后端服务器,不再经过WAF

  • 0:暂停防护,WAF只转发该域名的请求,不做攻击检测

  • 1:开启防护,WAF根据您配置的策略进行攻击检测

access_status

Integer

域名接入状态,0表示未接入,1表示已接入

lb_algorithm

String

LB负载均衡,仅专业版(原企业版)和铂金版(原旗舰版)支持配置负载均衡算法

  • 源IP Hash:将某个IP的请求定向到同一个服务器

  • 加权轮询:所有请求将按权重轮流分配给源站服务器

  • Session Hash:将某个Session标识的请求定向到同一个源站服务器,请确保在域名添加完毕后配置攻击惩罚的流量标识,否则Session Hash配置不生效

枚举值:

  • ip_hash

  • round_robin

  • session_hash

protocol

String

返回的客户端协议类型

certificateid

String

返回的证书id

certificatename

String

证书名称

server

Array of CloudWafServer objects

防护域名的源站服务器配置信息

proxy

Boolean

防护域名是否使用代理

  • false:不使用代理

  • true:使用代理

timestamp

Long

创建防护域名的时间

exclusive_ip

Boolean

是否使用独享ip

  • true:使用独享ip

  • false:不实用独享ip

web_tag

String

网站名称,对应WAF控制台域名详情中的网站名称

http2_enable

Boolean

是否支持http2

  • true:表示支持http2

  • false:表示不支持http2

block_page

BlockPage object

告警页面配置

flag

Flag object

特殊标识,用于前端使用

extend

Map<String,String>

扩展字段,用于保存防护域名的一些配置信息。

表7 CloudWafServer

参数

参数类型

描述

front_protocol

String

客户端请求访问防护域名源站服务器的协议

枚举值:

  • HTTP

  • HTTPS

back_protocol

String

WAF转发客户端请求到防护域名源站服务器的协议

枚举值:

  • HTTP

  • HTTPS

weight

Integer

源站权重,负载均衡算法将按该权重将请求分配给源站,默认值是1,云模式的冗余字段

address

String

客户端访问的源站服务器的IP地址

port

Integer

WAF转发客户端请求到源站服务的业务端口

type

String

源站地址为ipv4或ipv6

枚举值:

  • ipv4

  • ipv6

表8 BlockPage

参数

参数类型

描述

template

String

模板名称

custom_page

CustomPage object

自定义告警页面

redirect_url

String

“重定向”页面URL

表9 CustomPage

参数

参数类型

描述

status_code

String

返回状态码

content_type

String

“自定义”告警页面内容类型,可选择text/html、text/xml和application/json三种类型

content

String

根据选择的“页面类型”配置对应的页面内容,具体示例可以参考“Web应用防火墙 WAF”用户手册

表10 Flag

参数

参数类型

描述

pci_3ds

String

是否开启pci_3ds合规认证

  • true:开启

  • false:不开启

枚举值:

  • true

  • false

pci_dss

String

是否开启pci_dss合规认证

  • true:开启

  • false:不开启

枚举值:

  • true

  • false

cname

String

old:代表域名使用的老的cname,new:代表域名使用新的cname

枚举值:

  • old

  • new

is_dual_az

String

域名是否开启ipv6

  • true:支持

  • false:不支持

枚举值:

  • true

  • false

ipv6

String

域名是否开启ipv6

  • true:支持

  • false:不支持

枚举值:

  • true

  • false

状态码: 400

表11 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 401

表12 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 500

表13 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

请求示例

POST https://{Endpoint}/v1/{project_id}/waf/instance?enterprise_project_id=0

{
  "hostname" : "www.demo.com",
  "server" : [ {
    "front_protocol" : "HTTPS",
    "back_protocol" : "HTTP",
    "type" : "ipv4",
    "address" : "x.x.x.x",
    "port" : "7443"
  } ],
  "proxy" : false,
  "paid_type" : "prePaid",
  "description" : "demo",
  "web_tag" : "demo",
  "certificateid" : "3ac1402300374a63a05be68c641e92c8",
  "certificatename" : "test6",
  "exclusive_ip" : false
}

响应示例

状态码: 200

OK

{
  "id" : "31af669f567246c289771694f2112289",
  "hostname" : "www.demo.com",
  "protocol" : "HTTP",
  "server" : [ {
    "address" : "x.x.x.x",
    "port" : 80,
    "type" : "ipv4",
    "http2" : false,
    "weight" : 1,
    "front_protocol" : "HTTP",
    "back_protocol" : "HTTP"
  } ],
  "proxy" : false,
  "locked" : 0,
  "timestamp" : 1650527546420,
  "flag" : {
    "pci_3ds" : "false",
    "pci_dss" : "false",
    "ipv6" : "false",
    "cname" : "new",
    "is_dual_az" : "true"
  },
  "description" : "",
  "policyid" : "41cba8aee2e94bcdbf57460874205494",
  "domainid" : "d4ecb00b031941ce9171b7bc3386883f",
  "projectid" : "0456cf04d6f64725ab02ed5bd2efdfa4",
  "enterprise_project_id" : "0",
  "protect_status" : 1,
  "access_status" : 0,
  "access_code" : "1b18879b9d064f8bbcbf8abce7294cac",
  "block_page" : {
    "template" : "default"
  },
  "web_tag" : "",
  "exclusive_ip" : false,
  "http2_enable" : false
}

状态码

状态码

描述

200

OK

400

请求失败

401

token权限不足

500

服务器内部错误

错误码

请参见错误码

分享:

    相关文档

    相关产品

close