SLB监听配置
本章介绍通过IaC进行SLB监听配置的管理,包括监听的域名、端口、协议、证书、监听级别的高级配置,对应的资源类型为WiseCloud::LoadBalancer::SLB::ListenerGroup。
参数名 |
是否必选 |
说明 |
---|---|---|
instanceName |
是 |
关联的slb实例名,仅能关联同一注册中心下的slb实例。 |
domain |
否 |
域名,多个域名不可重复,只允许数字、字母、下划线、“.”和“*”。 |
certificate |
否 |
证书名,需为领域下已录入证书。 |
listeners |
是 |
监听端口列表 |
config |
否 |
通用及高级配置 |
参数名 |
是否必选 |
说明 |
---|---|---|
port |
是 |
监听端口,整型字符串,1-65535 |
protocol |
是 |
协议,取值为:http、https、http2、http2(ssl) |
otherConfig |
否 |
其他配置 |
elbReferences |
|
Elb关联列表 |
参数名 |
是否必选 |
说明 |
---|---|---|
name |
否 |
Elb名称,Elb名称可在ENS管理台查询。 |
pool |
否 |
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 |
否 |
响应超时时间,不超过10位的数字。 |
proxySendTimeout |
否 |
转发超时时间,不超过10位的数字。 |
keepaliveSwitch |
否 |
启用长连接转发,是否keepalive,取值为on或off。 |
hostSwitch |
否 |
是否透传请求头,取值为on或off,不填或者其他字符均为off。 |
xForwardedForSwitch |
否 |
是否追加XFF,取值为on或off。 |
accessLogSwitch |
否 |
是否开启access日志,取值为on或off,不填或者其他字符均为off。 |
proxyNextUpstreamSwitch |
否 |
是否在异常时尝试下一台,取值为on或off,不填或者其他字符均为off。 |
proxyNextUpstreamCondition |
否 |
尝试下一台场景,"403"、"404"、"429"、"500"、"502"、"503"、"504"、"error"、"timeout"、"invalid_header"。 |
clientConnectionFreeTime |
否 |
客户端连接空闲时间,长度不超过10位的正整数。 |
proxyBuffersSwitch |
否 |
开启响应缓存,取值为on或off,不填或者其他字符均为off。 |
proxyBuffersSize |
否 |
响应缓存大小,由数字+空格+k/m组成,默认为8 k。 |
expiresSwitch |
否 |
高级配置中Expires开关,取值为on或off,不填或者其他字符均为off。 |
expiresSize |
否 |
设定页面缓存时间,不超过50位,不缓存或一直使用缓存。可以由字母、数字、空格、$、@、+、-、冒号、逗号组成。 |
indexPage |
否 |
静态页面场景index页面设置,长度不超过255,非中文。 |
returnVal |
否 |
固定返回响应码,长度不超过255,非中文。 |
allowMethod |
否 |
允许的http方法,对于转发策略有效,对于监听仅为参考,在界面新增转发策略时会继承监听的此项配置,其余场景无效,"GET", "HEAD", "POST", "DELETE", "PUT", "OPTIONS", "PATCH", "MKCOL", "COPY", "MOVE", "PROPFIND", "PROPPATCH", "LOCK", "UNLOCK"。 |
command |
否 |
nginx配置命令,非中文。 |
root |
否 |
默认资源根目录,长度不超过500,非中文。 |
clientMaxBodySize |
否 |
最大请求体大小,数字+空格+k/m组成。 |
clientBodyBufferSize |
否 |
请求体buffer大小,数字+空格+k/m组成。 |
addHeaders |
否 |
响应头 |
setVals |
否 |
对应页面set |
proxySetHeaders |
否 |
请求头 |
redirects |
否 |
重定向 |
rewrites |
否 |
重写 |
参数名 |
是否必选 |
说明 |
---|---|---|
key |
否 |
键,非中文 |
value |
否 |
值,非中文 |
参数名 |
是否必选 |
说明 |
---|---|---|
source |
否 |
匹配规则,非中文。 |
target |
否 |
重写/重定向目标,非中文。 |
option |
否 |
重写标记,取值为:"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