更新时间:2024-12-25 GMT+08:00
分享

SLB监听配置

本章介绍通过IaC进行SLB监听配置的管理,包括监听的域名、端口、协议、证书、监听级别的高级配置,对应的资源类型为WiseCloud::LoadBalancer::SLB::ListenerGroup。

表1 SLB监听配置字段说明

参数名

类型

是否必选

说明

instanceName

String

关联的slb实例名,仅能关联同一注册中心下的slb实例。

domain

String

域名,多个域名不可重复,只允许数字、字母、下划线、“.”和“*”。

certificate

String

证书名,需为领域下已录入证书。

listeners

List<PortConfig>

监听端口列表。

config

GereralAndAdvancedConfigBean

通用及高级配置。

表2 PortConfig

参数名

类型

是否必选

说明

port

String

监听端口,整型字符串,1-65535。

protocol

String

协议,取值为:http、https、http2、http2(ssl)。

otherConfig

String

其他配置。

elbReferences

List<ElbPoolConfig>

  • 当所关联slb实例为平台管理模式时必传
  • 当所关联slb实例为自管理模式时非必传

Elb关联列表。

表3 ElbPoolConfig

参数名

类型

是否必选

说明

name

String

Elb名称,Elb名称可在ENS管理台查询。

pool

String

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#'

配置监听

表4 SLB监听配置config字段说明

参数名

类型

是否必选

说明

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>

重写

表5 GeneralKeyValueConfig

参数名

类型

是否必选

说明

key

String

键,非中文

value

String

值,非中文

表6 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

相关文档