ALIYUN::ALB::Listener

更新时间:2025-03-24 02:00:24

ALIYUN::ALB::Listener类型用于创建HTTP、HTTPSQUIC监听。

语法

{
  "Type": "ALIYUN::ALB::Listener",
  "Properties": {
    "RequestTimeout": Integer,
    "ListenerPort": Integer,
    "Http2Enabled": Boolean,
    "DefaultActions": List,
    "Certificates": List,
    "IdleTimeout": Integer,
    "LoadBalancerId": String,
    "ListenerProtocol": String,
    "QuicConfig": Map,
    "GzipEnabled": Boolean,
    "SecurityPolicyId": String,
    "ListenerDescription": String,
    "XForwardedForConfig": Map,
    "CaEnabled": Boolean,
    "CaCertificates": List,
    "ListenerStatus": String,
    "LogConfig": Map
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

DefaultActions

List

规则动作列表。

取值示例:

[
        {
          "ForwardGroupConfig": {
            "ServerGroupTuples": [
              {
                "ServerGroupId": "sgp-46ndzg2wz4v5mp****"
              }
            ]
          },
          "Type": "ForwardGroup"
        }
      ]

更多信息,请参见DefaultActions属性

ListenerPort

Integer

监听端口。

取值范围:1~65,535。

ListenerProtocol

String

监听协议。

取值:

  • HTTP

  • HTTPS

  • QUIC

LoadBalancerId

String

负载均衡实例ID。

CaCertificates

List

CA证书信息。

更多信息,请参见CaCertificates属性

CaEnabled

Boolean

是否开启双向认证。

取值:

  • true:开启双向认证。

  • false(默认值):不开启双向认证。

Certificates

List

证书。

更多信息,请参见Certificates属性

GzipEnabled

Boolean

是否开启Gzip压缩,压缩特定文件类型。

取值:

  • true(默认值):开启Gzip压缩。

  • false:关闭Gzip压缩。

Http2Enabled

Boolean

是否开启HTTP/2特性。

取值:

  • true(默认值):开启HTTP/2特性。

  • false:关闭HTTP/2特性。

说明

HTTPS监听支持指定该参数。

IdleTimeout

Integer

连接空闲超时时间。

取值范围:1~60。

默认值:15。

单位:秒。

如果在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到下一次请求来临时重新建立新的连接。

ListenerDescription

String

监听的描述信息。

长度为2~256个字符。

ListenerStatus

String

监听的状态。

取值:

  • Running:运行中。

  • Stopped:已停止。

QuicConfig

Map

配置关联的QUIC监听。

更多信息,请参见QuicConfig属性

RequestTimeout

Integer

请求超时时间。

取值范围:1~180。

默认值:60。

单位:秒。

如果在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,并给客户端返回HTTP 504错误码。

SecurityPolicyId

String

安全策略ID。

支持系统安全策略和自定义安全策略。

默认值:tls_cipher_policy_1_0,表示系统安全策略。

说明

HTTPS监听支持此参数。

XForwardedForConfig

Map

XForward字段配置信息。

更多信息,请参见XForwardedForConfig属性

LogConfig

Map

日志配置。

更多信息,请参见LogConfig属性。

DefaultActions语法

"DefaultActions": [
  {
    "Type": String,
    "ForwardGroupConfig": Map
  }
]

DefaultActions属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

ForwardGroupConfig

Map

转发Action对应的配置。

更多信息,请参见ForwardGroupConfig属性

Type

String

动作类型。

取值:ForwardGroup,表示转发至多个虚拟服务器组。

ForwardGroupConfig语法

"ForwardGroupConfig": {
  "ServerGroupTuples": List
}

ForwardGroupConfig属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

ServerGroupTuples

List

转发目标服务器组。

更多信息,请参见ServerGroupTuples属性

ServerGroupTuples语法

"ServerGroupTuples": [
  {
    "ServerGroupId": String
  }
]

ServerGroupTuples属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

ServerGroupId

String

转发到的目标服务器组ID。

Certificates语法

"Certificates": [
  {
    "CertificateId": String
  }
]

Certificates属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

CertificateId

String

证书ID。

当前仅支持服务器证书。

QuicConfig语法

"QuicConfig": {
  "QuicListenerId": String,
  "QuicUpgradeEnabled": Boolean
}

QuicConfig属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

QuicListenerId

String

需要关联的QUIC监听ID。

QuicUpgradeEnabled取值为true时必须指定该参数。

说明
  • HTTPS监听支持指定该参数。

  • 原始监听和关联的QUIC监听必须属于同一个ALB实例,并且此QUIC监听之前没有被关联过。

QuicUpgradeEnabled

Boolean

是否开启QUIC升级。

取值:

  • true:开启。

  • false(默认值):关闭。

说明

HTTPS监听支持指定该参数。

LogConfig语法

"LogConfig": {
  "AccessLogTracingConfig": Map,
  "AccessLogRecordCustomizedHeadersEnabled": Boolean
}

LogConfig属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

AccessLogTracingConfig

Map

访问日志 Xtrace 相关的配置信息。

更多信息,请参见AccessLogTracingConfig属性。

AccessLogRecordCustomizedHeadersEnabled

Boolean

访问日志是否开启携带自定义头。

取值:

  • true:开启。

  • false:关闭。

AccessLogTracingConfig语法

"AccessLogTracingConfig": {
  "TracingSample": Integer,
  "TracingType": String,
  "TracingEnabled": Boolean
}

AccessLogTracingConfig属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

TracingSample

Integer

Xtrace 的采样率。

取值:1~10000

说明

TracingEnabled 为 true 时,此值有效。

TracingType

String

Xtrace 类型。

合法取值为 Zipkin

说明

TracingEnabled 为 true 时,此值有效。

TracingEnabled

Boolean

是否开启 Xtrace 功能。

取值:

  • true:是。

  • false:否。

说明

只有实例访问日志开关 AccessLogEnabled 打开时,才能将此参数设置为 true

XForwardedForConfig语法

"XForwardedForConfig": {
  "XForwardedForClientCertFingerprintAlias": String,
  "XForwardedForClientCertFingerprintEnabled": Boolean,
  "XForwardedForClientCertIssuerDNAlias": String,
  "XForwardedForClientCertClientVerifyAlias": String,
  "XForwardedForSLBIdEnabled": Boolean,
  "XForwardedForClientCertSubjectDNEnabled": Boolean,
  "XForwardedForClientCertSubjectDNAlias": String,
  "XForwardedForProtoEnabled": Boolean,
  "XForwardedForClientSrcPortEnabled": Boolean,
  "XForwardedForSLBPortEnabled": Boolean,
  "XForwardedForEnabled": Boolean,
  "XForwardedForClientCertIssuerDNEnabled": Boolean,
  "XForwardedForClientCertClientVerifyEnabled": Boolean,
  "XForwardedForClientSourceIpsEnabled": Boolean,
  "XForwardedForClientSourceIpsTrusted": String,
  "XForwardedForProcessingMode": String,
  "XForwardedForHostEnabled": Boolean
}

XForwardedForConfig属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

XForwardedForClientCertClientVerifyAlias

String

自定义头名称,用于获取对访问负载均衡实例客户端证书的校验结果。

XForwardedForClientCertClientVerifyEnabled取值为true时,该参数有效。

长度为1~40个字符,可包含小写英文字母、数字、短划线(-)和下划线(_)。

说明

HTTPS监听支持指定该参数。

XForwardedForClientCertClientVerifyEnabled

Boolean

是否通过X-Forwarded-Clientcert-clientverify头字段获取对访问负载均衡实例客户端证书的校验结果。

取值:

  • true:通过。

  • false(默认值):不通过。

说明

HTTPS监听支持指定该参数。

XForwardedForClientCertFingerprintAlias

String

自定义头名称,用于获取访问负载均衡实例客户端证书的指纹取值。

XForwardedForClientCertFingerprintEnabled取值为true时,该参数有效。

长度为1~40个字符,可包含小写英文字母、数字、短划线(-)和下划线(_)。

说明

HTTPS监听支持指定该参数。

XForwardedForClientCertFingerprintEnabled

Boolean

是否通过X-Forwarded-Clientcert-fingerprint头字段获取访问负载均衡实例客户端证书的指纹取值。

取值:

  • true:通过。

  • false(默认值):不通过。

说明

HTTPS监听支持指定该参数。

XForwardedForClientCertIssuerDNAlias

String

自定义头名称,用于获取访问负载均衡实例客户端证书的发行者信息。

XForwardedForClientCertIssuerDNEnabled取值为true时,该参数有效。

长度为1~40个字符,可包含小写英文字母、数字、短划线(-)和下划线(_)。

说明

HTTPS监听支持指定该参数。

XForwardedForClientCertIssuerDNEnabled

Boolean

是否通过X-Forwarded-Clientcert-issuerdn头字段获取访问负载均衡实例客户端证书的发行者信息。

取值:

  • true:通过。

  • false(默认值):不通过。

说明

HTTPS监听支持指定该参数。

XForwardedForClientCertSubjectDNAlias

String

自定义头名称,用于获取访问负载均衡实例客户端证书的所有者信息。

XForwardedForClientCertSubjectDNEnabled取值为true时,该参数有效。

长度为1~40个字符,可包含小写英文字母、数字、短划线(-)和下划线(_)。

说明

HTTPS监听支持指定该参数。

XForwardedForClientCertSubjectDNEnabled

Boolean

是否通过X-Forwarded-Clientcert-subjectdn头字段获取访问负载均衡实例客户端证书的所有者信息。

取值:

  • true:通过。

  • false(默认值):不通过。

说明

HTTPS监听支持指定该参数。

XForwardedForClientSourceIpsEnabled

Boolean

是否通过X-Forwarded-Client-SourceIps头字段获取访问负载均衡实例客户端的源端口。

取值:

  • true:通过。

  • false(默认值):不通过。

XForwardedForClientSourceIpsTrusted

String

指定可信的代理 IP。

应用型负载均衡 ALB 会从后往前遍历X-Forwarded-For,选取第一个不在可信 IP 列表中的 IP 作为真实的客户端 IP,该 IP 会被用于源 IP 限速。

XForwardedForClientSrcPortEnabled

Boolean

是否通过X-Forwarded-Client-Port头字段获取访问负载均衡实例客户端的端口。

取值:

  • true:通过。

  • false(默认值):不通过。

说明

HTTPHTTPS监听支持指定该参数。

XForwardedForEnabled

Boolean

是否通过X-Forwarded-For头字段获取来访者真实IP地址。

取值:

  • true(默认值):通过。

  • false:不通过。

说明

HTTPHTTPS监听支持指定该参数。

XForwardedForProtoEnabled

Boolean

是否通过X-Forwarded-Proto头字段获取负载均衡实例的监听协议。

取值:

  • true:通过。

  • false(默认值):不通过。

XForwardedForSLBIdEnabled

Boolean

是否通过SLB-ID头字段获取负载均衡实例ID。

取值:

  • true:通过。

  • false(默认值):不通过。

XForwardedForSLBPortEnabled

Boolean

是否通过X-Forwarded-Port头字段获取负载均衡实例的监听端口。

取值:

  • true:通过。

  • false(默认值):不通过。

XForwardedForProcessingMode

String

处理X-Forwarded-For头字段的模式。

只有当 XForwardedForEnabled 为 true 时,此值才会生效。取值:

  • append(默认值):附加。

  • remove:删除。

说明
  • 配置 append,将请求发送至后端服务之前把最后一跳 IP 加入X-Forwarded-For头字段。

  • 配置 remove,将请求发送至后端服务之前删除X-Forwarded-For标头,无论请求是否携带X-Forwarded-For头字段。

  • HTTP 和 HTTPS 监听支持此参数。

XForwardedForHostEnabled

Boolean

是否开启通过X-Forwarded-Host头字段获取访问负载均衡实例客户端的域名。

取值:

  • true:是。

  • false(默认值):否。

说明

HTTP、HTTPS 和 QUIC 监听支持此参数。

CaCertificates语法

"CaCertificates": [
  {
    "CertificateId": String
  }
]

CaCertificates属性

属性名称

类型

必须

允许更新

描述

约束

属性名称

类型

必须

允许更新

描述

约束

CertificateId

String

CA证书ID。

返回值

Fn::GetAtt

  • ListenerId:监听ID。

  • LoadBalancerId:应用型负载均衡实例 ID。

示例

YAML格式
JSON格式
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  LoadBalancerId:
    Type: String
    Description: The ID of the ALB instance.
    Default: lb-bp1iilcd9ujny84z8****
Resources:
  Listener:
    Type: ALIYUN::ALB::Listener
    Properties:
      ListenerPort: 80
      DefaultActions:
        - ForwardGroupConfig:
            ServerGroupTuples:
              - ServerGroupId: sgp-46ndzg2wz4v5mp****
          Type: ForwardGroup
      LoadBalancerId:
        Ref: LoadBalancerId
      ListenerProtocol: HTTP
Outputs:
  ListenerId:
    Description: The ID of the listener.
    Value:
      Fn::GetAtt:
        - Listener
        - ListenerId                
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "LoadBalancerId": {
      "Type": "String",
      "Description": "The ID of the ALB instance.",
      "Default": "lb-bp1iilcd9ujny84z8****"
    }
  },
  "Resources": {
    "Listener": {
      "Type": "ALIYUN::ALB::Listener",
      "Properties": {
        "ListenerPort": 80,
        "DefaultActions": [
          {
            "ForwardGroupConfig": {
              "ServerGroupTuples": [
                {
                  "ServerGroupId": "sgp-46ndzg2wz4v5mp****"
                }
              ]
            },
            "Type": "ForwardGroup"
          }
        ],
        "LoadBalancerId": {
          "Ref": "LoadBalancerId"
        },
        "ListenerProtocol": "HTTP"
      }
    }
  },
  "Outputs": {
    "ListenerId": {
      "Description": "The ID of the listener.",
      "Value": {
        "Fn::GetAtt": [
          "Listener",
          "ListenerId"
        ]
      }
    }
  }
}
  • 本页导读 (1)
  • 语法
  • 属性
  • DefaultActions语法
  • DefaultActions属性
  • ForwardGroupConfig语法
  • ForwardGroupConfig属性
  • ServerGroupTuples语法
  • ServerGroupTuples属性
  • Certificates语法
  • Certificates属性
  • QuicConfig语法
  • QuicConfig属性
  • LogConfig语法
  • LogConfig属性
  • AccessLogTracingConfig语法
  • AccessLogTracingConfig属性
  • XForwardedForConfig语法
  • XForwardedForConfig属性
  • CaCertificates语法
  • CaCertificates属性
  • 返回值
  • 示例