监听接口
1. 创建监听器
POST https://open.cn-east-1.163yun.com/nlb?Action=CreateLBListener&Version=2017-12-05
示例
请求:
POST https://open.cn-east-1.163yun.com/nlb?Action=CreateLBListener&Version=2017-12-05
HEADER:
Content-type: application/json
BODY:
{
"InstanceId": "01dfd813-3bf3-4199-ba97-39f59ab8e64c",
"Name": "l1",
"ListenPort": 8088,
"Protocol": "http",
"Balance": "leastconn",
"ForwardPort": 1
"Clusters": [
{
"ServerName": "1.com",
"CertId":"f271a811-d277-4d23-822e-9b9e71bf05a1"(https时必选)
"Path": "/1",
"ClusterPort": 80,
"TargetGroupId": "05315b9a-9e32-4634-9fb8-6df6d9fca49e",
"Policy": {
"Mode": "insert",
"Expire": 30000
}
}
]
}
响应:
无
参数说明
参数 | 参数描述 | 必选 | 类型 | 范围 | 默认值 | 说明 |
InstanceId | 实例ID | 是 | uuidV4 | - | 创建监听之前需要先创建实例,instanceId是CreateLoadBalancer接口返回 | |
Name | 监听名字 | 是 | string | 长度不超过64 | 无 | |
ListenPort | 监听端口 | 是 | number | tcp:2-65535、http:80,1025-65535、https:443,1025-65535 | - | |
Protocol | 监听类型 | 是 | string | tcp/http/https/tls | - | |
Clusters | 后端集群 | 是 | array of json | - | Protocol 为tcp或者tls时,数组长度必需等于1 | |
Clusters->ServerName | 域名 | 否 | string | 长度不大于512 | * | 支持多个serverName, 以空格分隔,普通域名由字母数字以及.组成, 通配符域名*.在最前面和.*在最后面;支持pcrl正则表达式,优先级为普通域名> 通配符 > 正则表达式,类型相同时,长度最长先匹配; 整体优先级serverName > path |
Clusters->Path | 路径 | 否 | string | 不超过128 | / | 支持多个url,每个url以空格分隔,普通url的格式为:满足以‘/’开头,并且由数字和字母开头的;支持pcre规则的正则表达式;匹配优先级为普通字符串>正则表达式 类型相同时,长度优先 |
Clusters->CertId | 证书ID | 是 | string | - | https时候必选 | |
Clusters->TargetGroupId | 目标组ID | 是 | string | - | 由CrateTargetGroup接口返回 | |
Clusters->ClusterPort | 集群端口 | 是 | number | - | tcp/tls:2-65535、http:80,1025-65535、https:443,1025-65535 | |
Clusters->Policy | 会话保持策略 | 否 | json | - | - | |
Clusters->Policy->Mode | 模式 | 否 | string | insert/rewrite | | |
Clusters->Policy->CookieName | cookie 名字 | 否 | string | 长度不超过1000 | 空字串 | rewrite必选,insert没有使用,由数字字母以及"-"和"_"组成 |
Clusters->Policy->Expire | 失效时间 | 否 | number | 0-86400 | 单位秒,默认30000 | |
Monitor | 健康检查规则 | 否 | string | - | - | |
Monitor->period | 周期 | 否 | number | 5000-300000 | 单位毫秒,默认值5000 | |
Monitor->timeout | 超时时间 | 否 | number | 2000-60000 | 单位毫秒,默认值2000 | |
Monitor->rise | 正常状态所需次数 | 否 | number | 2-10 | 默认值2 | |
Monitor->fall | 异常状态所需次数 | 否 | number | 2-10 | 默认值3 | |
Monitor->protocol | 协议 | 否 | string | http/tcp | 目前仅支持两种 | |
Monitor->url | 健康检查路径 | 否 | string | 以/开头,数字和字母结尾,默认为/ | 最长为127 | |
Monitor->port | 健康检查端口 | 否 | number | 1-65535 | - | |
Monitor->rstatus | 状态码 | 否 | string | 限制为’2xx’, ‘3xx’, ‘4xx’, 以“,”分隔 | - | |
TraceVip | vip 跟踪 | 否 | number | 0/1 | 0 | 在HTTP HEARDER中带NLB-VIP头部,VALUE为Address,配合apm监控, 1代表打开选项 |
Balance | 负载均衡策略 | 否 | string | roundrobin/leastconn | roundrobin 加权轮询(默认值);leastconn 加权最少连接数 | |
Gzip | 压缩 | 否 | number | 0/1 | 0代表关闭(默认值);1代表打开gip功能 | |
ForwardPort | 转发X-Forwarded-Port头部 | 否 | number | 0/1 | 0代表关闭(默认值);1代表打开该功能 | |
CipherSuiteId | 加密套件Id | 否 | string | - | https://www.163yun.com/help/documents/101493766532288512 | |
Timeout | tcp超时时间 | 否 | number | 单位秒,10-3600,默认900s | | |
结果说明
返回码
- 200 修改成功
- 400 参数错误
- 403 权限错误
- 404 目标不存在
- 500 内部错误
2. 修改监听器
POST https://open.cn-east-1.163yun.com/nlb?Action=UpdateLBListener&Version=2017-12-05
示例
请求:
POST https://open.cn-east-1.163yun.com/nlb?Action=UpdateLBListener&Version=2017-12-05
HEADER:
Content-type: application/json
BODY:
{
"InstanceId": "01dfd813-3bf3-4199-ba97-39f59ab8e64c",
"ListenerId": "aa15e86b-0239-48b7-85b5-e67b7470fbe6",
"Balance": "leastconn",
"ForwardPort": 0,
"Clusters": [
{
"ServerName": "1.com",
"CertId":"f271a811-d277-4d23-822e-9b9e71bf05a1"(https时必选)
"Path": "/1",
"ClusterPort": 80,
"TargetGroupId": "05315b9a-9e32-4634-9fb8-6df6d9fca49e",
"Policy": {
"Mode": "insert",
"Expire": 30000
}
}
]
}
响应:
无
参数说明
参数 | 参数描述 | 必选 | 类型 | 范围 | 默认值 | 说明 |
InstanceId | 实例ID | 是 | uuidV4 | - | 创建监听之前需要先创建实例,instanceId是CreateLoadBalancer接口返回 | |
Name | 监听名字 | 是 | string | 长度不超过64 | 无 | |
Clusters | 后端集群 | 是 | array of json | - | Protocol 为tcp或者tls时,数组长度必需等于1 | |
Clusters->ServerName | 域名 | 否 | string | 长度不大于512 | * | 支持多个serverName, 以空格分隔,普通域名由字母数字以及.组成, 通配符域名*.在最前面和.*在最后面;支持pcrl正则表达式,优先级为普通域名> 通配符 > 正则表达式,类型相同时,长度最长先匹配; 整体优先级serverName > path |
Clusters->Path | 路径 | 否 | string | 不超过128 | / | 支持多个url,每个url以空格分隔,普通url的格式为:满足以‘/’开头,并且由数字和字母开头的;支持pcre规则的正则表达式;匹配优先级为普通字符串>正则表达式 类型相同时,长度优先 |
Clusters->CertId | 证书ID | 是 | string | - | https时候必选 | |
Clusters->TargetGroupId | 目标组ID | 是 | string | - | 由CrateTargetGroup接口返回 | |
Clusters->ClusterPort | 集群端口 | 是 | number | - | tcp/tls:2-65535、http:80,1025-65535、https:443,1025-65535 | |
Clusters->Policy | 会话保持策略 | 否 | json | - | - | |
Clusters->Policy->Mode | 模式 | 否 | string | insert/rewrite | | |
Clusters->Policy->CookieName | cookie 名字 | 否 | string | 长度不超过1000 | 空字串 | rewrite必选,insert没有使用,由数字字母以及"-"和"_"组成 |
Clusters->Policy->Expire | 失效时间 | 否 | number | 0-86400 | 单位秒,默认30000 | |
Monitor | 健康检查规则 | 否 | string | - | - | |
Monitor->period | 周期 | 否 | number | 5000-300000 | 单位毫秒,默认值5000 | |
Monitor->timeout | 超时时间 | 否 | number | 2000-60000 | 单位毫秒,默认值2000 | |
Monitor->rise | 正常状态所需次数 | 否 | number | 2-10 | 默认值2 | |
Monitor->fall | 异常状态所需次数 | 否 | number | 2-10 | 默认值3 | |
Monitor->protocol | 协议 | 否 | string | http/tcp | 目前仅支持两种 | |
Monitor->url | 健康检查路径 | 否 | string | 以/开头,数字和字母结尾,默认为/ | 最长为127 | |
Monitor->port | 健康检查端口 | 否 | number | 1-65535 | - | |
Monitor->rstatus | 状态码 | 否 | string | 限制为’2xx’, ‘3xx’, ‘4xx’, 以“,”分隔 | - | |
TraceVip | vip 跟踪 | 否 | number | 0/1 | 0 | 在HTTP HEARDER中带NLB-VIP头部,VALUE为Address,配合apm监控, 1代表打开选项 |
Balance | 负载均衡策略 | 否 | string | roundrobin/leastconn | roundrobin 加权轮询(默认值);leastconn 加权最少连接数 | |
Gzip | 压缩 | 否 | number | 0/1 | 0代表关闭(默认值);1代表打开gip功能 | |
ForwardPort | 转发X-Forwarded-Port头部 | 否 | number | 0/1 | 0代表关闭(默认值);1代表打开该功能 | |
CipherSuiteId | 加密套件Id | 否 | string | - | https://www.163yun.com/help/documents/101493766532288512 | |
Timeout | tcp超时时间 | 否 | number | 单位秒,10-3600,默认900s | | |
结果说明
返回码
- 204 修改成功
- 400 参数错误
- 403 权限错误
- 404 目标不存在
- 500 内部错误
3. 删除监听器
GET https://open.cn-east-1.163yun.com/nlb?Action=DeleteLBListener&InstanceId=&ListenerId=&Version=2017-12-05
示例
请求:
GET https://open.cn-east-1.163yun.com/nlb?Action=DeleteLBListener&InstanceId=&ListenerId=&Version=2017-12-05
HEADER:
Content-type: application/json
响应:
无
参数说明
参数 | 参数描述 | 是否必选 | 类型 | 范围 |
InstanceId | 实例ID | 是 | uuidV4 | |
ListenrId | 监听器Id | 是 | uuidV4 | |
结果说明
返回码
- 204 修改成功
- 400 参数错误
- 403 权限错误
- 500 内部错误