You need to enable JavaScript to run this app.
导航
BatchAddHostRule-批量添加域名接入规则
最近更新时间:2024.07.19 19:17:48首次发布时间:2024.07.19 19:17:48

当您需要批量接入多个域名,可使用此接口批量添加域名接入规则。

注意事项

单次最多支持添加 50 条规则。

请求说明

  • 请求方式:POST
  • 请求地址:https://open.volcengineapi.com/?Action=BatchAddHostRule&Version=2021-06-15

调试

请求参数

Query

参数类型是否必选示例值描述
ActionStringBatchAddHostRule接口名称。当前 API 的名称为 BatchAddHostRule
VersionString2021-06-15接口版本。当前 API 的版本为 2021-06-15

Body

参数类型是否必选示例值描述
ConfListArray of WOHostConfInfo--域名配置详情。

WOHostConfInfo

参数类型是否必选示例值描述
HostStringwww.testddos.com待防护的域名。
DefIpArray of String["1.1.1.1"]高防实例 IP 列表。可调用DescInstanceList接口获取。

Http2

Integer

1

是否开启 HTTP 2.0 协议接入防护,选择 HTTPS 协议类型时可以设置。默认关闭。

  • 0:关闭
  • 1:开启
LabelsArray of String分组1标签信息。
ServersArray of HostRsStru--源站组配置信息。

GzipMode

Integer

1

是否启用 Gzip 压缩。开启后,可以通过压缩算法对源站响应数据进行压缩,减少传输数据量,节约带宽。默认关闭。

  • 1:开启
  • 2:关闭

ChunkMode

Integer

1

是否启用 Chunked 编码。开启后,对源站响应启用分块传输编码,允许在接收数据时逐块处理,提升数据传输速度。默认关闭。

  • 1:开启
  • 2:关闭

TLSEnable

Integer

1

是否开启日志服务。

  • 0:关闭
  • 1:开启
AccessModeInteger1接入形式,默认为 1,暂不支持其他值。
ProtoPortsArray of ProtoPorts--协议类型和端口信息。
ProxyRetryInteger3高防回源失败后,可重试的次数。默认为 3 次,支持配置 1~10 次。

SSLCiphers

Array of String

["ECDHE-ECDSA-AES128-SHA"]

启用的加密套件名称。选择 HTTPS 协议类型且 AllSSLCipher 为 0 时需要填写。支持以下加密套件:

  • ECDHE-ECDSA-AES128-SHA
  • ECDHE-ECDSA-AES256-SHA
  • ECDHE-RSA-AES128-SHA
  • ECDHE-RSA-AES256-SHA
  • AES128-SHA
  • AES256-SHA
  • DES-CBC3-SHA
  • ECDHE-ECDSA-AES128-GCM-SHA256
  • ECDHE-ECDSA-AES256-GCM-SHA384
  • ECDHE-ECDSA-AES128-SHA256
  • ECDHE-ECDSA-AES256-SHA384
  • ECDHE-RSA-AES128-GCM-SHA256
  • ECDHE-RSA-AES256-GCM-SHA384
  • ECDHE-RSA-AES128-SHA256
  • ECDHE-RSA-AES256-SHA384
  • AES128-GCM-SHA256
  • AES256-GCM-SHA384
  • AES128-SHA256
  • AES256-SHA256
  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_CCM_SHA256
  • TLS_AES_128_CCM_8_SHA256
UserCertIdStringcert-effdc682562a4641b8d6b4311203****证书 ID。选择 HTTPS 协议时需要设置。如您已将证书上传至证书中心,可前往证书中心>证书管理模块,查看证书 ID。

LBAlgorithm

String

wrr

负载均衡算法类型,默认为加权轮询(wrr)。

  • wrr:加权轮询
  • wlc:加权最小连接数
  • sh:源地址哈希

ProtoFollow

Integer

0

是否开启协议跟随,同时选择 HTTP 和 HTTPS 协议类型时可以设置。默认关闭。

  • 0:关闭
  • 1:开启

AllSSLCipher

Integer

1

加密套件启用方式,选择 HTTPS 协议类型时需要设置,默认全部启用。

  • 0:自定义启用,此时需要填写加密套件名称
  • 1:全部启用

BackUpStatus

Integer

0

主备源站启用状态,默认启用主源站。

  • 0:即启用主源站组,不启用备源站组。
  • 1:即启用备源站组,不启用主源站组。

SSLProtocols

Array of String

["TLSv1.2","TLSv1.3"]

加密协议,选择 HTTPS 协议类型时需要设置,默认选择全部版本。支持以下版本:

  • TLSv1
  • TLSv1.1
  • TLSv1.2
  • TLSv1.3

说明

  • 至少选择一个协议版本,暂不支持单独选中 TLSv1.3 版本。
  • 选择多个版本时需注意版本号需要保持连续。例如,您不能仅选择 TLSv1 和 TLSv1.3。

ProxySetHeader

Array of DirectStru

--

流量标识信息。

  • 为空值时不开启。
  • 若希望开启,需要配置自定义字段。高防会在转发回源的请求中添加您配置的自定义字段,以区分正常回源请求。
KeepAliveTimeOutInteger75长连接保持时间。默认为 75 秒,支持配置 0 ~ 900 秒。
ProxyReadTimeOutInteger60高防从后端服务器读取响应的超时时间,如果后端服务器在该时间内未响应任何内容,则关闭连接。默认为 60 秒,支持配置 30~3600 秒。
ProxySendTimeOutInteger60高防将请求传输到后端服务器的超时时间,如果后端服务器在该时间内未收到任何请求,则关闭连接。默认为 60 秒,支持配置 30~3600 秒。
ClientMaxBodySizeInteger60可接受客户端请求正文的最大值。默认为 60 MB,支持配置 1~10240 MB。
KeepAliveRequestsInteger100复用长连接请求数。默认为 100 个,支持配置 60 ~ 1000 个。
ProxyConnectTimeOutInteger4高防和后端服务器的建连超时时间。默认为 4 秒,支持配置 4~ 120 秒。
ProxyKeepAliveTimeOutInteger15高防与后端服务器建立请求的长连接空闲时间。默认为 15 秒,支持配置 1~60 秒。
ProxyKeepAliveRequestsInteger100高防回源时,长连接可复用的个数。默认为 100 个,支持配置 60~1000 个。

HostRsStru

参数类型是否必选示例值描述

Addr

String

1.1.1.1

需要接入 DDoS 高防的网站所提供服务的源站公网 IP 或源站域名。

注意

请勿配置与接入域名或高防 IP 地址一致的源站,以免造成业务异常。

PortInteger1源站地址对应的端口。

BackUp

Integer

1

该源站添加到主源站组还是备源站组。默认为 0,即添加到主源站组。

  • 0:添加到主源站组
  • 1:添加到备源站组

Weight

Integer

100

权重数值,表示源站收到请求的概率(概率为该源站权重/组中所有服务器的总权重)。默认为 100,可配置区间为 1 ~ 100。

说明

当负载均衡算法为源地址哈希(SH)时,权重对后端服务器收到请求的概率无影响。

Protocol

String

1

从 DDoS 高防回源至源站的回源协议,可选 HTTP 或 HTTPS 协议。

  • 如选择启用“协议跟随”,则源站组中需要有 HTTP 协议源站配置和 HTTPS 协议源站配置以实现协议跟随。
  • 如未启用“协议跟随”,则源站组中只能配置一种协议。

ProtoPorts

参数类型是否必选示例值描述
PortsArray of Integer[80,8080]端口号信息,范围:1 - 65535。

Protocol

String

HTTP

协议类型。

  • HTTP
  • HTTPS

DirectStru

参数类型是否必选示例值描述

args

String

\"POST, OPTIONS"

流量标识的自定义字段值。

  • 只能包含字母、数字、"_"、"-"、 "*"、 ","、 "/"、 ""、 ":"、 "@"、 "="、 "."、 "("、 ")"、空格、英文单双引号。
  • 带有数字、字母外的特殊字符时,需要使用引号包裹整个头部值,且使用转义符,如 \"POST, OPTIONS\"。
  • 长度限制在 1~128 个字符之间。

name

String

example_1

流量标识的自定义字段名称。

说明

请不要填写标准 HTTP 头部字段,以避免自定Header 值被覆盖。

返回参数

无。

请求示例

POST https://open.volcengineapi.com/?Action=BatchAddHostRule&Version=2021-06-15
Host: https://open.volcengineapi.com
Content-Type: application/json; charset=UTF-8
X-Date: 20240610T082509Z
X-content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=Adfks******wekfwe/20240610/cn-beijing/AdvDefence/request, SignedHeaders=host;x-content-sha256;x-date, Signature=47a7d934ff7b37c03938******cd7b8278a40a1057690c401e92246a0e41085f
{
    "ConfList": [
        {
            "AccessMode": 1,
            "Host": "www.host.com",
            "DefIp": [
                "1.1.1.1",
                "1.1.1.2"
            ],
            "ProtoPorts": [
                {
                    "Protocol": "HTTP",
                    "Ports": [
                        80
                    ]
                },
                {
                    "Protocol": "HTTPS",
                    "Ports": [
                        443
                    ]
                }
            ],
            "UserCertId": "cert-effdc682562a4641b8d6b4311203****",
            "ProtoFollow": 0,
            "Http2": 0,
            "SSLProtocols": [
                "TLSv1.2",
                "TLSv1.3"
            ],
            "AllSSLCipher": 1,
            "SSLCiphers": [],
            "KeepAliveTimeOut": 75,
            "KeepAliveRequests": 100,
            "ClientMaxBodySize": 60,
            "GzipMode": 2,
            "ChunkMode": 2,
            "LBAlgorithm": "wrr",
            "Servers": {
                "Protocol": "HTTP",
                "Port": 456,
                "Weight": "100",
                "BackUp": 0,
                "Addr": "1.1.1.3"
            },
            "BackUpStatus": 0,
            "ProxyConnectTimeOut": 4,
            "ProxySendTimeOut": 60,
            "ProxyReadTimeOut": 60,
            "ProxyKeepAliveRequests": 100,
            "ProxyRetry": 3,
            "ProxyKeepAliveTimeOut": 15,
            "ProxySetHeader": [
                {
                    "Args": "\"POST, OPTIONS\"",
                    "Name": "example_1"
                }
            ]
        },
        {
            "AccessMode": 1,
            "Host": "www.test.com",
            "DefIp": [
                "1.1.1.1",
                "1.1.1.2"
            ],
            "Protocols": [
                "HTTP",
                "HTTPS"
            ],
            "UserCertId": "cert-effdc682562a4641b8d6b4311203****",
            "ProtoFollow": 0,
            "Http2": 0,
            "SSLProtocols": [
                "TLSv1.2",
                "TLSv1.3"
            ],
            "AllSSLCipher": 1,
            "SSLCiphers": [],
            "KeepAliveTimeOut": 75,
            "KeepAliveRequests": 100,
            "ClientMaxBodySize": 60,
            "GzipMode": 2,
            "ChunkMode": 2,
            "LBAlgorithm": "wrr",
            "Servers": {
                "Protocol": "HTTP",
                "Port": 456,
                "Weight": "100",
                "BackUp": 0,
                "Addr": "1.1.1.6"
            },
            "BackUpStatus": 0,
            "ProxyConnectTimeOut": 4,
            "ProxySendTimeOut": 60,
            "ProxyReadTimeOut": 60,
            "ProxyKeepAliveRequests": 100,
            "ProxyRetry": 3,
            "ProxyKeepAliveTimeOut": 15,
            "ProxySetHeader": [
                {
                    "Args": "\"POST, OPTIONS\"",
                    "Name": "example_1"
                }
            ]
        }
    ]
}

返回示例

{
    "ResponseMetadata": {
        "RequestId": "20230604110420****100232280022D31",
        "Action": "BatchAddHostRule",
        "Version": "2021-06-15",
        "Service": "AdvDefence",
        "Region": "cn-beijing"
    }
}