SLB监听配置
本章介绍通过IaC进行SLB监听配置的管理,包括监听的域名、端口、协议、证书、监听级别的高级配置,对应的资源类型为WiseCloud::LoadBalancer::SLB::ListenerGroup。
|
参数名 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
instanceName |
String |
是 |
关联的SLB实例名,仅能关联同一注册中心下的SLB实例。 |
|
domain |
String |
否 |
域名,多个域名不可重复,只允许数字、字母、下划线、“.”和“*”。 |
|
certificate |
String |
否 |
证书名,需为领域下已录入证书。 |
|
listeners |
List<PortConfig> |
是 |
监听端口列表。 |
|
config |
GereralAndAdvancedConfigBean |
否 |
通用及高级配置。 |
|
参数名 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
port |
String |
是 |
监听端口,整型字符串,1-65535。 |
|
protocol |
String |
是 |
协议,取值为:http、https、http2、http2(ssl)。 |
|
otherConfig |
String |
否 |
其他配置。 |
|
elbReferences |
List<ElbPoolConfig> |
当所关联SLB实例为自管理模式时非必传 |
ELB关联列表。 |
样例:
- name: testListenerName #必传,SLB监听名称,长度<=50,不能包含-in-字符,不能以in-开头,不能以.conf结尾,不能包含特殊字符
type: WiseCloud::LoadBalancer::SLB::ListenerGroup #资源类型为监听配置
properties:
instanceName: testSlbInstanceName #必传,关联的SLB实例名,仅能关联同一注册中心下的SLB实例
domain: www.test1.com,www.test2.com #非必传,域名
certificate: testCertificateName #非必传,证书,需为领域下已录入证书
listeners: #必传
- protocol: https #必传,协议,取值为:http、https、http2、http2(ssl)
port: '9095' #必传,整型字符串,监听端口,1-65535
elbReferences: #ELB关联列表
- name: elbName1 #ELB名称
pool: elbPool1 #ELB后端集群
- name: elbName2
pool: elbPool2
otherConfig: #非必传
- protocol: https
port: '9096'
elbReferences:
- name: elbName3
pool: elbPool3
- name: elbName4
pool: elbPool4
config: #非必传,监听通用配置和高级配置
$ref: 'slb_listener_config/listener_monitor_config.yaml#'
配置监听
|
参数名 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
proxyReadTimeout |
int |
否 |
响应超时时间,不超过10位的数字。 |
|
proxySendTimeout |
int |
否 |
转发超时时间,不超过10位的数字。 |
|
keepaliveSwitch |
String |
否 |
启用长连接转发,是否keepalive,取值为on或off。 |
|
hostSwitch |
String |
否 |
是否透传请求头,取值为on或off,不填或者其他字符均为off。 |
|
xForwardedForSwitch |
String |
否 |
是否追加XFF,取值为on或off。 |
|
accessLogSwitch |
String |
否 |
是否开启access日志,取值为on或off,不填或者其他字符均为off。 |
|
proxyNextUpstreamSwitch |
String |
否 |
是否在异常时尝试下一台,取值为on或off,不填或者其他字符均为off。 |
|
proxyNextUpstreamCondition |
String |
否 |
设置尝试下一台场景,"403"、"404"、"429"、"500"、"502"、"503"、"504"、"error"、"timeout"、"invalid_header"。 |
|
clientConnectionFreeTime |
int |
否 |
客户端连接空闲时间,长度不超过10位的正整数。 |
|
proxyBuffersSwitch |
String |
否 |
开启响应缓存,取值为on或off,不填或者其他字符均为off。 |
|
proxyBuffersSize |
String |
否 |
响应缓存大小,由数字+空格+k/m组成,默认为8 k。 |
|
expiresSwitch |
String |
否 |
高级配置中Expires开关,取值为on或off,不填或者其他字符均为off。 |
|
expiresSize |
String |
否 |
设定页面缓存时间,不缓存或一直使用缓存。可以由字母、数字、空格、$、@、+、-、冒号、逗号组成,长度不超过50位。 |
|
indexPage |
String |
否 |
静态页面场景index页面设置,长度不超过255,非中文。 |
|
returnVal |
String |
否 |
固定返回响应码,长度不超过255,非中文。 |
|
allowMethod |
String |
否 |
允许的http方法,对于转发策略有效,对于监听仅为参考,在界面新增转发策略时会继承监听的此项配置,其余场景无效,"GET"、"HEAD"、"POST"、"DELETE"、"PUT"、"OPTIONS"、"PATCH"、"MKCOL"、"COPY"、"MOVE"、"PROPFIND"、"PROPPATCH"、"LOCK"、"UNLOCK"。 |
|
command |
String |
否 |
nginx配置命令,非中文。 |
|
root |
String |
否 |
默认资源根目录,长度不超过500,非中文。 |
|
clientMaxBodySize |
String |
否 |
最大请求体大小,数字+空格+k/m组成。 |
|
clientBodyBufferSize |
String |
否 |
请求体buffer大小,数字+空格+k/m组成。 |
|
addHeaders |
List<GeneralKeyValueConfig> |
否 |
响应头 |
|
setVals |
List<GeneralKeyValueConfig> |
否 |
对应页面set |
|
proxySetHeaders |
List<GeneralKeyValueConfig> |
否 |
请求头 |
|
redirects |
List<GeneralRedirectConfig> |
否 |
重定向 |
|
rewrites |
List<GeneralRedirectConfig> |
否 |
重写 |
|
参数名 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
source |
String |
否 |
匹配规则,非中文。 |
|
target |
String |
否 |
重写/重定向目标,非中文。 |
|
option |
String |
否 |
重写标记,取值为:"last"、"break"、"permanent"。 |
slb_listener_config/listener_monitor_config.yaml
hostSwitch: 'on' #是否透传请求头,on/off,不填或者其他字符均为off
root: #默认资源根目录,不超过500非中文
clientConnectionFreeTime: 100 #客户端连接空闲时间,不超过10位的正整数
proxyReadTimeout: 70 #响应超时时间,不超过10位的数字
keepaliveSwitch: 'on' #启用长连接转发是否keepalive,on/off
proxyBuffersSize: '2 m' #响应缓存大小,数字+空格+k/m组成,默认为8 k
expiresSwitch: 'on' #高级配置中Expires开关,on/off,不填或者其他字符均为off
proxyBuffersSwitch: 'on' #开启响应缓存,on/off,不填或者其他字符均为off
accessLogSwitch: 'on' #是否开启access日志,on/off,不填或者其他字符均为off
returnVal: 200 #固定返回响应码,不超过255非中文
allowMethod: POST,GET,HEAD,PUT,DELETE,OPTIONS #允许的http方法
nuwaTraceSwitch: 'off'
command: #nginx配置命令,非中文
clientMaxBodySize: #最大请求体大小,数字+空格+k/m组成
clientBodyBufferSize: 10 #请求体buffer大小,数字+空格+k/m组成
expiresSize: 10 #设定页面缓存时间
indexPage: #静态页面场景index页面设置,不超过255非中文
proxyNextUpstreamCondition: error,timeout #尝试下一台场景
proxySendTimeout: 80 #转发超时时间,不超过10位的数字
xForwardedForSwitch: 'on' #是否追加XFF,on/off
proxyNextUpstreamSwitch: 'on' #是否在异常时尝试下一台,on/off,不填或者其他字符均为off
addHeaders: #响应头
- value: v1
key: k1
- value: v2
key: k2
rewrites: #重写
- source: s7
option: break
target: t1
setVals: #对应页面set
- value: v3
key: $k3
proxySetHeaders: #请求头
- value: v5
key: k5
redirects: #重定向
- source: s1
target: t1