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