更新时间:2024-10-21 GMT+08:00
分享

SLB监听配置

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

表1 SLB监听配置字段说明

参数名

是否必选

说明

instanceName

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

domain

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

certificate

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

listeners

监听端口列表

config

通用及高级配置

表2 listeners字段说明

参数名

是否必选

说明

port

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

protocol

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

otherConfig

其他配置

elbReferences

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

Elb关联列表

表3 elbReferences字段说明

参数名

是否必选

说明

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

配置监听

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

参数名

是否必选

说明

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

重写

表5 addHeaders/setVals/proxySetHeaders字段说明

参数名

是否必选

说明

key

键,非中文

value

值,非中文

表6 redirects/rewrites字段说明

参数名

是否必选

说明

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

相关文档