更新时间:2026-01-07 GMT+08:00

更新云模式防护域名的配置

功能介绍

更新云模式防护域名配置,在没有填入源站信息server的原始数据的情况下,则新的源站信息server会覆盖源站信息,而不是新增源站。此外,请求体可只传需要更新的部分。

URI

PATCH /v1/{project_id}/waf/instance/{instance_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

instance_id

String

域名id,您可以通过调用查询云模式防护域名列表(ListHost)获取域名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

内容类型

表4 请求Body参数

参数

是否必选

参数类型

描述

proxy

Boolean

防护域名是否使用代理

  • false:不使用代理

  • true:使用代理

certificateid

String

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

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

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

certificatename

String

证书名

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

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

server

Array of CloudWafServer objects

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

tls

String

配置的最低TLS版本(TLS v1.0/TLS v1.1/TLS v1.2),默认为TLS v1.0版本,对于低于最低TLS版本的请求,将无法正常访问网站

cipher

String

加密套件(cipher_1,cipher_2,cipher_3,cipher_4,cipher_default):

  • cipher_1: 加密算法为ECDHE-ECDSA-AES256-GCM-SHA384:HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!DES:!MD5:!PSK:!RC4:!kRSA:!SRP:!3DES:!DSS:!EXP:!CAMELLIA:@STRENGTH

  • cipher_2:加密算法为EECDH+AESGCM:EDH+AESGCM

  • cipher_3:加密算法为ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH

  • cipher_4:加密算法为ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!EDH

  • cipher_default: 加密算法为ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM

http2_enable

Boolean

是否支持http2

  • true:表示支持http2

  • false:表示不支持http2

ipv6_enable

Boolean

是否开启IPv6防护,仅专业版(原企业版)和铂金版(原旗舰版)支持IPv6防护。

  • true:开启IPv6防护

  • false:关闭IPV6防护

web_tag

String

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

exclusive_ip

Boolean

是否使用用户独享的引擎公网ip,该参数为预留参数,用于后续功能扩展,用户可忽略

  • true:使用独享ip

  • false:不使用独享ip

paid_type

String

套餐付费模式,postPaid:按需模式。

block_page

BlockPage object

告警页面配置

traffic_mark

TrafficMark object

流量标识

flag

Flag object

特殊标识,用于前端使用

extend

Map<String,String>

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

circuit_breaker

CircuitBreaker object

熔断配置

timeout_config

TimeoutConfig object

超时配置

forward_header_map

Map<String,String>

字段转发配置,WAF会将添加的字段插到header中,转给源站;Key不能跟nginx原生字段重复。Value支持的值包括:

  • $time_local

  • $request_id

  • $connection_requests

  • $tenant_id

  • $project_id

  • $remote_addr

  • $remote_port

  • $scheme

  • $request_method

  • $http_host

  • $origin_uri

  • $request_length

  • $ssl_server_name

  • $ssl_protocol

  • $ssl_curves

  • $ssl_session_reused

表5 CloudWafServer

参数

是否必选

参数类型

描述

front_protocol

String

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

back_protocol

String

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

weight

Integer

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

address

String

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

port

Integer

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

type

String

源站地址为ipv4或ipv6

表6 BlockPage

参数

是否必选

参数类型

描述

template

String

模板名称

custom_page

CustomPage object

自定义告警页面

redirect_url

String

“重定向”页面URL

表7 CustomPage

参数

是否必选

参数类型

描述

status_code

String

返回状态码

content_type

String

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

content

String

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

表8 TrafficMark

参数

是否必选

参数类型

描述

sip

Array of strings

IP标记,客户端最原始的IP地址的HTTP请求头字段。

cookie

String

Session标记,用于Cookie恶意请求的攻击惩罚功能。在选择Cookie拦截的攻击惩罚功能前,必须配置该标识

params

String

User标记,用于Params恶意请求的攻击惩罚功能。在选择Params拦截的攻击惩罚功能前,必须配置该标识。

表9 Flag

参数

是否必选

参数类型

描述

pci_3ds

String

是否开启pci_3ds合规认证

  • true:开启

  • false:不开启

pci_dss

String

是否开启pci_dss合规认证

  • true:开启

  • false:不开启

cname

String

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

is_dual_az

String

是否支持双AZ模式

  • true:支持

  • false:不支持

ipv6

String

域名是否开启ipv6

  • true:支持

  • false:不支持

表10 CircuitBreaker

参数

是否必选

参数类型

描述

switch

Boolean

熔断开关,是否开启连接保护

  • true:开启连接保护

  • false: 关闭连接保护

dead_num

Integer

502/504数量阈值,每30s累加的502/504数量阈值

dead_ratio

Number

502/504数量占比(%),总请求数量中502/504数量占比达到所设定值,并且与数量阈值同时满足时触发宕机保护

block_time

Integer

初次触发宕机的保护时间,即WAF将停止转发用户请求的时间。

superposition_num

Integer

连续触发时,保护时间延长最大倍数,叠加周期为3600s。例如,“初次保护时间”设置为180s,“连续触发叠加系数”设置为3。

  • 当触发次数为2(即小于3)时,保护时间为360s。

  • 当次数大于等于3时,保护时间为540s。

  • 当累计保护时间超过1小时(3600s),叠加次数会从头计数。

suspend_num

Integer

读等待URL请求数量阈值,读等待URL请求数量到达设定值即触发连接保护

sus_block_time

Integer

读等待URL请求数量超过阈值后的熔断时间,达到数量阈值所触发的保护时间,即WAF将停止转发用户请求的时间。

表11 TimeoutConfig

参数

是否必选

参数类型

描述

connect_timeout

Integer

WAF连接源站超时配置

send_timeout

Integer

WAF发送请求到源站超时配置

read_timeout

Integer

WAF接收源站响应超时配置

响应参数

状态码:200

表12 响应Body参数

参数

参数类型

描述

id

String

域名id

hostname

String

创建的云模式防护域名

policyid

String

防护域名的防护策略id

domainid

String

账号ID,对应控制台用户名->我的凭证->账号ID

projectid

String

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

enterprise_project_id

String

企业项目ID,对应控制台用户名->企业->项目管理->点击项目名称->ID

protocol

String

后端包含的协议类型:HTTPS、HTTP、HTTP&HTTPS

server

Array of CloudWafServer objects

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

proxy

Boolean

防护域名是否使用代理

  • false:不使用代理

  • true:使用代理

protect_status

Integer

域名防护状态:

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

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

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

access_status

Integer

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

access_code

String

cname前缀

locked

Integer

预留参数,用于后期设计冻结域名,解锁域名功能,目前暂不支持

timestamp

Long

创建防护域名的时间戳(毫秒)

certificateid

String

https证书id

certificatename

String

证书名称

tls

String

配置的最低TLS版本(TLS v1.0/TLS v1.1/TLS v1.2),默认为TLS v1.0版本,对于低于最低TLS版本的请求,将无法正常访问网站

cipher

String

加密套件(cipher_1,cipher_2,cipher_3,cipher_4,cipher_default):

  • cipher_1: 加密算法为ECDHE-ECDSA-AES256-GCM-SHA384:HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!DES:!MD5:!PSK:!RC4:!kRSA:!SRP:!3DES:!DSS:!EXP:!CAMELLIA:@STRENGTH

  • cipher_2:加密算法为EECDH+AESGCM:EDH+AESGCM

  • cipher_3:加密算法为ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH

  • cipher_4:加密算法为ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!EDH

  • cipher_default: 加密算法为ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM

block_page

BlockPage object

告警页面配置

extend

Map<String,String>

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

web_tag

String

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

traffic_mark

TrafficMark object

流量标识

circuit_breaker

CircuitBreaker object

熔断配置

lb_algorithm

String

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

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

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

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

timeout_config

TimeoutConfig object

超时配置

flag

Flag object

特殊标识,用于前端使用

description

String

网站备注

http2_enable

Boolean

是否支持http2

  • true:表示支持http2

  • false:表示不支持http2

exclusive_ip

Boolean

是否使用用户独享的引擎公网ip,该参数为预留参数,用于后续功能扩展,用户可忽略

  • true:使用独享ip

  • false:不使用独享ip

access_progress

Array of Access_progress objects

接入进度,仅用于新版console(前端)使用

forward_header_map

Map<String,String>

字段转发配置,WAF会将添加的字段插到header中,转给源站;Key不能跟nginx原生字段重复。Value支持的值包括:

  • $time_local

  • $request_id

  • $connection_requests

  • $tenant_id

  • $project_id

  • $remote_addr

  • $remote_port

  • $scheme

  • $request_method

  • $http_host

  • $request_length

  • $ssl_server_name

  • $ssl_protocol

  • $ssl_curves

  • $ssl_session_reused

-$origin_uri

表13 CloudWafServer

参数

参数类型

描述

front_protocol

String

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

back_protocol

String

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

weight

Integer

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

address

String

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

port

Integer

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

type

String

源站地址为ipv4或ipv6

表14 BlockPage

参数

参数类型

描述

template

String

模板名称

custom_page

CustomPage object

自定义告警页面

redirect_url

String

“重定向”页面URL

表15 CustomPage

参数

参数类型

描述

status_code

String

返回状态码

content_type

String

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

content

String

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

表16 TrafficMark

参数

参数类型

描述

sip

Array of strings

IP标记,客户端最原始的IP地址的HTTP请求头字段。

cookie

String

Session标记,用于Cookie恶意请求的攻击惩罚功能。在选择Cookie拦截的攻击惩罚功能前,必须配置该标识

params

String

User标记,用于Params恶意请求的攻击惩罚功能。在选择Params拦截的攻击惩罚功能前,必须配置该标识。

表17 CircuitBreaker

参数

参数类型

描述

switch

Boolean

熔断开关,是否开启连接保护

  • true:开启连接保护

  • false: 关闭连接保护

dead_num

Integer

502/504数量阈值,每30s累加的502/504数量阈值

dead_ratio

Number

502/504数量占比(%),总请求数量中502/504数量占比达到所设定值,并且与数量阈值同时满足时触发宕机保护

block_time

Integer

初次触发宕机的保护时间,即WAF将停止转发用户请求的时间。

superposition_num

Integer

连续触发时,保护时间延长最大倍数,叠加周期为3600s。例如,“初次保护时间”设置为180s,“连续触发叠加系数”设置为3。

  • 当触发次数为2(即小于3)时,保护时间为360s。

  • 当次数大于等于3时,保护时间为540s。

  • 当累计保护时间超过1小时(3600s),叠加次数会从头计数。

suspend_num

Integer

读等待URL请求数量阈值,读等待URL请求数量到达设定值即触发连接保护

sus_block_time

Integer

读等待URL请求数量超过阈值后的熔断时间,达到数量阈值所触发的保护时间,即WAF将停止转发用户请求的时间。

表18 TimeoutConfig

参数

参数类型

描述

connect_timeout

Integer

WAF连接源站超时配置

send_timeout

Integer

WAF发送请求到源站超时配置

read_timeout

Integer

WAF接收源站响应超时配置

表19 Flag

参数

参数类型

描述

pci_3ds

String

是否开启pci_3ds合规认证

  • true:开启

  • false:不开启

pci_dss

String

是否开启pci_dss合规认证

  • true:开启

  • false:不开启

cname

String

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

is_dual_az

String

是否支持双AZ模式

  • true:支持

  • false:不支持

ipv6

String

域名是否开启ipv6

  • true:支持

  • false:不支持

表20 Access_progress

参数

参数类型

描述

step

Integer

步骤

  • 1: 指回源IP加白

  • 2: 指本地验证

  • 3:指修改DNS解析

status

Integer

状态,0:未完成这个步骤;1:已完成这个状态”

状态码:400

表21 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码:401

表22 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码:500

表23 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

请求示例

更新项目id为project_id,域名id是instance_id的域名下的两个源站服务器,第一个源站服务器的IP地址是x.x.x.x,端口号是80,源站地址是ipv4的,源站权重是1,客户端请求访问防护域名源站服务器的协议和WAF转发客户端请求到防护域名源站服务器的协议都是HTTP协议;第二个源站服务器的IP地址是x.x.x.x,端口号是80,源站地址是ipv4的,客户端请求访问防护域名源站服务器的协议和WAF转发客户端请求到防护域名源站服务器的协议都是HTTP协议;域名关闭了ipv6防护。

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

{
  "server" : [ {
    "address" : "x.x.x.x",
    "port" : "80",
    "type" : "ipv4",
    "weight" : 1,
    "front_protocol" : "HTTP",
    "back_protocol" : "HTTP"
  }, {
    "front_protocol" : "HTTP",
    "back_protocol" : "HTTP",
    "type" : "ipv4",
    "address" : "x.x.x.x",
    "port" : "80"
  } ],
  "ipv6_enable" : false
}

响应示例

状态码:200

OK

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

状态码

状态码

描述

200

OK

400

请求失败

401

token权限不足

500

服务器内部错误

错误码

请参见错误码