• 沒有找到結果。

接口约束

4.10 监听器

4.10.1 创建监听器

功能介绍

创建监听器。

接口约束

1.负载均衡器只有四层规格的,只支持创建TCP,UDP的监听器。

2.负载均衡器只有七层规格的,只支持创建HTTP和HTTPS的监听器。

3.负载均衡器既有四层规格也有七层规格,那么支持创建TCP,UDP,HTTP和HTTPS 的监听器。

调试

您可以在API Explorer中调试该接口。

URI

POST /v3/{project_id}/elb/listeners

4-215 路径参数

参数 是否必选 参数类型 描述

project_id 是 String 项目ID。

请求参数

4-216 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String IAM鉴权Token。

4-217 请求 Body 参数

参数 是否必选 参数类型 描述

listener 是 CreateListen erOption object

监听器对象。

4-218 CreateListenerOption

参数 是否必选 参数类型 描述

admin_state_

up 否 Boolean 监听器的管理状态。固定为

true。

不支持该字段,请勿使用。

default_pool_i

d 否 String 监听器默认的后端云服务器组

ID。当请求没有匹配的转发策略 时,转发到默认后端云服务器上 处理。

最小长度:1 最大长度:36 client_ca_tls_c

ontainer_ref 否 String 监听器使用的CA证书ID。仅客 户端证书有效,其他类型证书无 效。

最小长度:1 最大长度:128 default_tls_co

ntainer_ref 否 String 监听器使用的服务器证书ID。

使用说明:

● 当监听器协议为HTTPS或 QUIC时,该字段必传,且对 应的证书的type必须是server 类型,QUIC监听器仅支持 RSA证书。

最小长度:1 最大长度:128

参数 是否必选 参数类型 描述

description 否 String 监听器的描述信息。

最小长度:0 最大长度:255

http2_enable 否 Boolean 客户端与LB之间的HTTPS请求 的HTTP2功能的开启状态。开启

s 否 ListenerInser

tHeaders

project_id 否 String 监听器所在的项目ID。

最小长度:1 最大长度:32

protocol 是 String 监听器的监听协议。支持TCP、

UDP、HTTP、HTTPS、

TERMINATED_HTTPS和QUIC。

参数 是否必选 参数类型 描述

protocol_port 是 Integer 监听器的监听端口。UDP和 QUIC监听器端口不能是4789,

strings 监听器使用的SNI证书(带域名 的服务器证书)ID列表。

● QUIC监听器仅支持RSA证 书。

tags 否 Array of Tag

objects 标签列表 tls_ciphers_po

licy 否 String 监听器使用的安全策略,仅对

HTTPS协议类型的监听器有效。

取值:tls-1-0-inherit, tls-1-0, tls-1-1, tls-1-2, tls-1-2-strict,

tls-1-2-fs, tls-1-0-with-1-3, tls-1-2-fs-with-1-3, hybrid-policy-1-0,默认:tls-1-0。

y_id 否 String 自定义安全策略的ID。仅对

HTTPS协议类型的监听器且关联

参数 是否必选 参数类型 描述 enable_memb

er_retry 否 Boolean 是否开启后端服务器的重试。取 值:true 开启重试,false 不开 启重试。默认:true。

● 若为TCP/UDP监听器,取值 范围为(10-4000s)默认值 为300s。

● 若为HTTP/HTTPS/

TERMINATED_HTTPS/QUIC 监听器,取值范围为

(0-4000s)默认值为60s。

共享型LB的UDP监听器不支持 此字段。

client_timeout 否 Integer 等待客户端请求超时时间,包括 两种情况:

参数 是否必选 参数类型 描述 返回 HTTP504错误码。

取值:1-300s,默认为60s。

使用说明:

● 仅支持协议为HTTP/HTTPS/

QUIC的监听器。

最小值:1 最大值:300 缺省值:60 ipgroup 否 CreateListen

erIpGroupOp tion object

listener对象中的控制组

ient_ip_enable 否 Boolean 是否透传客户端IP地址。开启后 客户端IP地址将透传到后端服务 器。仅作用于共享型LB的 TCP/UDP监听器。取值:

● 共享型LB的TCP/UDP监听器 可设置为true或false,不传 默认为false。

● 共享型LB的HTTP/HTTPS监 听器只支持设置为true,不

参数 是否必选 参数类型 描述 enhance_l7pol

icy_enable 否 Boolean 是否开启高级转发策略功能。开 启高级转发策略后,支持更灵活 的转发策略和转发规则设置。取 值:true开启,false不开启,默 认false。 开启后支持如下场 景:

● 转发策略的action字段支持 指定为REDIRECT_TO_URL, FIXED_RESPONSE,即支持 URL重定向和响应固定的内 容给客户端。

● 转发策略支持指定priority、

redirect_url_config、

fixed_response_config字 段。

● 转发规则rule的type可以指定 METHOD, HEADER,

QUERY_STRING,

SOURCE_IP这几种取值。

● 转发规则rule的type为 HOST_NAME时,转发规则 rule的value支持通配符*。

● 转发规则支持指定conditions 字段。

4-219 ListenerInsertHeaders

参数 是否必选 参数类型 描述

X-Forwarded-ELB-IP 否 Boolean X-Forwarded-ELB-IP设为true可 以将ELB实例的eip地址从报文的 http头中带到后端云服务器。

缺省值:false

X-Forwarded-Port 否 Boolean X-Forwarded-Port设为true可以 将ELB实例的监听端口从报文的 http头中带到后端云服务器。

缺省值:false

X-Forwarded-For-Port 否 Boolean X-Forwarded-For-Port设为true 可以将客户端的源端口从报文的 http头中带到后端云服务器。

缺省值:false

参数 是否必选 参数类型 描述

X-Forwarded-Host 否 Boolean X-Forwarded-Host设为true可

以将客户请求头的X-Forwarded-Host设置为请求头 的Host带到后端云服务器。

缺省值:true

4-220 Tag

参数 是否必选 参数类型 描述

key 否 String 标签键

最小长度:1 最大长度:36

value 否 String 标签值

最小长度:0 最大长度:43

4-221 CreateListenerIpGroupOption

参数 是否必选 参数类型 描述

ipgroup_id 是 String 监听器关联的访问控制组的id。

当关联的ipgroup中的ip_list为 [],且类型为白名单时,表示禁 止所有ip的访问。

当关联的ipgroup中的ip_list为 [],且类型为黑名单时,表示允 许所有ip的访问。

最小长度:1 最大长度:36 enable_ipgrou

p 否 Boolean 访问控制组的状态。取值:

● true:开启访问控制,默认 值。

● false:关闭访问控制。

type 否 String 访问控制组的类型。

● white:白名单,只允许指定 ip访问,默认值。

● black:黑名单,不允许指定 ip访问。

响应参数

状态码: 201

4-222 响应 Body 参数

参数 参数类型 描述

request_id String 请求ID。

注:自动生成 。 listener Listener

object 监听器对象。

4-223 Listener

参数 参数类型 描述

admin_state_

up Boolean 监听器的管理状态。只能设置为true。

不支持该字段,请勿使用。

client_ca_tls_c

ontainer_ref String 监听器使用的CA证书ID。仅客户端证书有效,其 他类型证书无效。

connection_li

mit Integer 监听器的最大连接数。取值:-1表示不限制,默 认为-1。

不支持该字段,请勿使用。

created_at String

监听器的创建时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',如:2021-07-30T12:03:44Z default_pool_i

d String 监听器的默认后端云服务器组ID。当请求没有匹

配的转发策略时,转发到默认后端云服务器上处 理。

default_tls_co

ntainer_ref String 监听器使用的服务器证书ID。

description String 监听器的描述信息。

http2_enable Boolean 客户端与LB之间的HTTPS请求的HTTP2功能的开 启状态。开启后,可提升客户端与LB间的访问性 能,但LB与后端服务器间仍采用HTTP1.X协议。

其他协议的监听器该字段无效,无论取值如何都 不影响监听器正常运行。

id String 监听器ID。

insert_header

s ListenerInser

tHeaders

参数 参数类型 描述 loadbalancers Array of

LoadBalancer Ref objects

监听器所属的负载均衡器的ID列表。一个监听器 只支持关联到一个LB。

name String 监听器的名称。

project_id String 监听器所在的项目ID。

protocol String 监听器的监听协议。支持TCP、UDP、HTTP、

HTTPS、TERMINATED HTTPS。

protocol_port Integer 监听器的前端监听端口。客户端将请求发送到该 端口中。

最小值:1 最大值:65535 sni_container_

refs Array of

strings 监听器使用的SNI证书(带域名的服务器证书)ID 列表。

tags Array of Tag

objects 标签列表。

updated_at String

监听器的更新时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',如:2021-07-30T12:03:44Z tls_ciphers_po

licy String 监听器使用的安全策略,仅对HTTPS协议类型的 监听器有效。

取值:tls-1-0-inherit, tls-1-0, tls-1-1, tls-1-2, tls-1-2-strict,tls-1-2-fs, tls-1-0-with-1-3, tls-1-2-fs-with-1-3, hybrid-policy-1-0,默认:

tls-1-0。

使用说明:

● 若同时设置了security_policy_id和

tls_ciphers_policy,则仅security_policy_id生 效。

security_polic

y_id String 自定义安全策略的ID。仅关联LB为独享型时有 效。

若同时设置了security_policy_id和

tls_ciphers_policy,则仅security_policy_id生 效。

参数 参数类型 描述 enable_memb

er_retry Boolean 是否开启后端服务器的重试。取值:true 开启重 试,false 不开启重试。默认:true。

使用说明:

● 若关联是共享型LB,仅在protocol为HTTP、

TERMINATED_HTTPS时才能传入该字段。

● 若关联是独享型LB,仅在protocol为HTTP、

HTTPS时才能传入该字段。

keepalive_tim

eout Integer 客户端连接空闲超时时间。在超过

keepalive_timeout时长一直没有请求,负载均衡 会暂时中断当前连接,直到一下次请求时重新建 立新的连接。取值:

● 若为TCP监听器,取值范围为(10-4000s)默 认值为300s。

● 若为HTTP/HTTPS/TERMINATED_HTTPS监听 器,取值范围为(0-4000s)默认值为60s。

UDP监听器不支持此字段。

client_timeout Integer 等待客户端请求超时时间,包括两种情况:

● 读取整个客户端请求头的超时时长:如果客户 端未在超时时长内发送完整个请求头,则请求 将被中断

● 两个连续body体的数据包到达LB的时间间 隔,超出client_timeout将会断开连接。

取值范围为1-300s,默认值为60s。

使用说明:

● 仅协议为HTTP/HTTPS的监听器支持该字段。

member_time

out Integer 等待后端服务器响应超时时间。请求转发后端服 务器后,在等待超时member_timeout时长没有 响应,负载均衡将终止等待,并返回 HTTP504错 误码。

取值:1-300s,默认为60s。

使用说明:

● 仅支持协议为HTTP/HTTPS的监听器。

ipgroup ListenerIpGro

up object listener对象中的ipgroup信息

参数 参数类型 描述 transparent_cl

ient_ip_enable Boolean 是否透传客户端IP地址。开启后客户端IP地址将 透传到后端服务器。仅作用于共享型LB的 TCP/UDP监听器。取值:

● 共享型LB的TCP/UDP监听器可设置为true或 false,不传默认为false。

● 共享型LB的HTTP/HTTPS监听器只支持设置为 true,不传默认为true。

icy_enable Boolean 是否开启高级转发策略功能。开启高级转发策略 后,支持更灵活的转发策略和转发规则设置。取 值:true开启,false不开启,默认false。 开启后 支持如下场景:

● 转发策略的action字段支持指定为

REDIRECT_TO_URL, FIXED_RESPONSE,即支 持URL重定向和响应固定的内容给客户端。

● 转发策略支持指定priority、

redirect_url_config、fixed_response_config 字段。

● 转发规则rule的type可以指定METHOD, HEADER, QUERY_STRING, SOURCE_IP这几种 取值。

● 转发规则rule的type为HOST_NAME时,转发 规则rule的value支持通配符*。

● 转发规则支持指定conditions字段。

缺省值:false

4-224 ListenerInsertHeaders

参数 参数类型 描述

X-Forwarded-ELB-IP Boolean X-Forwarded-ELB-IP设为true可以将ELB实例的 eip地址从报文的http头中带到后端云服务器。

缺省值:false

参数 参数类型 描述

X-Forwarded-Port Boolean X-Forwarded-Port设为true可以将ELB实例的监听 端口从报文的http头中带到后端云服务器。

缺省值:false

X-Forwarded-For-Port Boolean X-Forwarded-For-Port设为true可以将客户端的 源端口从报文的http头中带到后端云服务器。

缺省值:false

X-Forwarded-Host Boolean X-Forwarded-Host设为true可以将客户请求头的 X-Forwarded-Host设置为请求头的Host带到后端 云服务器。

缺省值:true

4-225 LoadBalancerRef

参数 参数类型 描述

id String 负载均衡器ID。

4-226 Tag

参数 参数类型 描述

key String 标签键

最小长度:1 最大长度:36 value String 标签值

最小长度:0

最小长度:0