更新时间:2023-01-16 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

内容类型

缺省值:application/json;charset=utf8

表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版本的请求,将无法正常访问网站

枚举值:

  • 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

block_page

BlockPage object

告警页面配置

extend

Map<String,String>

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

表5 CloudWafServer

参数

是否必选

参数类型

描述

front_protocol

String

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

枚举值:

  • HTTP

  • HTTPS

back_protocol

String

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

枚举值:

  • HTTP

  • HTTPS

address

String

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

port

Integer

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

表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”用户手册

响应参数

状态码: 200

表8 响应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版本的请求,将无法正常访问网站

枚举值:

  • 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

block_page

BlockPage object

告警页面配置

extend

Map<String,String>

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

flag

Flag object

特殊标识,用于前端使用

description

String

网站备注

exclusive_ip

Boolean

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

  • true:使用独享ip

  • false:不使用独享ip

access_progress

Array of Access_progress objects

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

表9 CloudWafServer

参数

参数类型

描述

front_protocol

String

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

枚举值:

  • HTTP

  • HTTPS

back_protocol

String

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

枚举值:

  • HTTP

  • HTTPS

address

String

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

port

Integer

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

表10 BlockPage

参数

参数类型

描述

template

String

模板名称

custom_page

CustomPage object

自定义告警页面

redirect_url

String

“重定向”页面URL

表11 CustomPage

参数

参数类型

描述

status_code

String

返回状态码

content_type

String

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

content

String

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

表12 Flag

参数

参数类型

描述

pci_3ds

String

是否开启pci_3ds合规认证

  • true:开启

  • false:不开启

枚举值:

  • true

  • false

pci_dss

String

是否开启pci_dss合规认证

  • true:开启

  • false:不开启

枚举值:

  • true

  • false

表13 Access_progress

参数

参数类型

描述

step

Integer

步骤

  • 1: 指回源IP加白

  • 2: 指本地验证

  • 指修改DNS解析

status

Integer

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

状态码: 400

表14 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 401

表15 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 500

表16 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

请求示例

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

{
  "server" : [ {
    "address" : "x.x.x.x",
    "port" : "80",
    "front_protocol" : "HTTP",
    "back_protocol" : "HTTP"
  }, {
    "front_protocol" : "HTTP",
    "back_protocol" : "HTTP",
    "address" : "x.x.x.x",
    "port" : "80"
  } ]
}

响应示例

状态码: 200

OK

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

状态码

状态码

描述

200

OK

400

请求失败

401

token权限不足

500

服务器内部错误

错误码

请参见错误码