更新时间:2024-04-15 GMT+08:00

修改独享模式域名配置

功能介绍

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

URI

PUT /v1/{project_id}/premium-waf/host/{host_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

host_id

String

独享模式域名ID

表2 Query参数

参数

是否必选

参数类型

描述

enterprise_project_id

String

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

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

内容类型

缺省值:application/json;charset=utf8

X-Auth-Token

String

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

表4 请求Body参数

参数

是否必选

参数类型

描述

proxy

Boolean

防护域名是否使用代理

  • false:不使用代理

  • true:使用代理

certificateid

String

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

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

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

certificatename

String

证书名

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

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

tls

String

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

枚举值:

  • TLS v1.0

  • TLS v1.1

  • TLS v1.2

  • TLS v1.3

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

枚举值:

  • cipher_1

  • cipher_2

  • cipher_3

  • cipher_4

  • cipher_default

mode

String

独享模式特殊域名模式(仅特殊模式需要,如elb)

locked

Integer

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

protect_status

Integer

域名防护状态:

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

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

access_status

Integer

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

timestamp

Integer

时间戳

pool_ids

Array of strings

特殊模式域名所属独享引擎组(仅特殊模式需要,如elb)

block_page

BlockPage object

告警页面配置,该参数为非必填参数。当需要配置自定义页面时,该参数的子字段都为必填参数

traffic_mark

TrafficMark object

流量标识

circuit_breaker

CircuitBreaker object

熔断配置

timeout_config

TimeoutConfig object

超时配置

表5 BlockPage

参数

是否必选

参数类型

描述

template

String

模板名称

custom_page

CustomPage object

自定义告警页面

redirect_url

String

“重定向”页面URL

表6 CustomPage

参数

是否必选

参数类型

描述

status_code

String

返回状态码

content_type

String

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

content

String

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

表7 TrafficMark

参数

是否必选

参数类型

描述

sip

Array of strings

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

cookie

String

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

params

String

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

表8 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将停止转发用户请求的时间。

表9 TimeoutConfig

参数

是否必选

参数类型

描述

connect_timeout

Integer

WAF连接源站超时配置

send_timeout

Integer

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

read_timeout

Integer

WAF接收源站响应超时配置

响应参数

状态码: 200

表10 响应Body参数

参数

参数类型

描述

id

String

域名id

hostname

String

创建的独享模式防护域名

protocol

String

对外协议,客户端(例如浏览器)请求访问网站的协议类型

server

Array of PremiumWafServer objects

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

proxy

Boolean

防护域名是否使用代理

  • false:不使用代理

  • true:使用代理

locked

Integer

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

缺省值:0

timestamp

Long

创建防护域名的时间

tls

String

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

枚举值:

  • TLS v1.0

  • TLS v1.1

  • TLS v1.2

  • TLS v1.3

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

枚举值:

  • cipher_1

  • cipher_2

  • cipher_3

  • cipher_4

  • cipher_default

extend

Map<String,String>

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

flag

Flag object

特殊标识,用于前端使用

description

String

域名描述

policyid

String

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

domainid

String

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

projectid

String

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

enterprise_project_id

String

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

certificateid

String

https证书id

certificatename

String

证书名称

protect_status

Integer

域名防护状态:

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

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

access_status

Integer

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

web_tag

String

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

lb_algorithm

String

LB负载均衡,默认轮询,不支持修改

block_page

BlockPage object

告警页面配置

traffic_mark

TrafficMark object

流量标识

timeout_config

TimeoutConfig object

超时配置

表11 PremiumWafServer

参数

参数类型

描述

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

vpc_id

String

VPC id,通过以下步骤获取VPC id:

  • 1.找到独享引擎所在的虚拟私有云名称,VPC\子网这一列就是VPC的名称:登录WAF的控制台->单击系统管理->独享引擎->VPC\子网

  • 2.登录虚拟私有云 VPC控制台->虚拟私有云->单击虚拟私有云的名称->基本信息的ID

表12 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

是否支持双AZ模式

  • true:支持

  • false:不支持

枚举值:

  • true

  • false

ipv6

String

域名是否开启ipv6

  • true:支持

  • false:不支持

枚举值:

  • true

  • false

表13 BlockPage

参数

参数类型

描述

template

String

模板名称

custom_page

CustomPage object

自定义告警页面

redirect_url

String

“重定向”页面URL

表14 CustomPage

参数

参数类型

描述

status_code

String

返回状态码

content_type

String

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

content

String

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

表15 TrafficMark

参数

参数类型

描述

sip

Array of strings

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

cookie

String

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

params

String

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

表16 TimeoutConfig

参数

参数类型

描述

connect_timeout

Integer

WAF连接源站超时配置

send_timeout

Integer

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

read_timeout

Integer

WAF接收源站响应超时配置

状态码: 400

表17 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 401

表18 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 500

表19 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

请求示例

{
  "proxy" : false
}

响应示例

状态码: 200

OK

{
  "id" : "27995fb98a2d4928a1e453e65ee8117a",
  "hostname" : "www.demo.com",
  "protocol" : "HTTP",
  "server" : [ {
    "address" : "192.168.0.209",
    "port" : 80,
    "type" : "ipv4",
    "weight" : 1,
    "front_protocol" : "HTTP",
    "back_protocol" : "HTTP",
    "vpc_id" : "cf6dbace-b36a-4d51-ae04-52a8459ae247"
  } ],
  "proxy" : false,
  "locked" : 0,
  "timestamp" : 1650590814885,
  "flag" : {
    "pci_3ds" : "false",
    "pci_dss" : "false"
  },
  "description" : "",
  "policyid" : "9555cda636ef4ca294dfe4b14bc94c47",
  "domainid" : "d4ecb00b031941ce9171b7bc3386883f",
  "projectid" : "05e33ecd328025dd2f7fc00696201fb4",
  "enterprise_project_id" : "0",
  "protect_status" : 1,
  "access_status" : 0
}

状态码

状态码

描述

200

OK

400

非法请求

401

Token无权限

500

服务器内部错误

错误码

请参见错误码