ALIYUN::GA::Listener类型用于创建监听。

语法

{
  "Type": "ALIYUN::GA::Listener",
  "Properties": {
    "Description": String,
    "PortRanges": List,
    "Protocol": String,
    "AcceleratorId": String,
    "Name": String,
    "ClientAffinity": String,
    "Certificates": List,
    "SecurityPolicyId": String,
    "ProxyProtocol": Boolean,
    "XForwardedForConfig": Map
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
Description String 监听的描述信息。
PortRanges List 监听端口。 最多支持10个监听端口。

详情请参见PortRanges属性

Protocol String 监听的网络传输协议类型。 取值:
  • tcp:TCP协议。
  • udp:UDP协议。
AcceleratorId String 全球加速实例ID。
Name String 监听的名称。 长度为2~128个字符。以英文字母或汉字开头,可包含英文字母、汉字、数字、下划线(_)和短划线(-)。
ClientAffinity String 客户端亲和性。 取值:
  • None(默认值):不保持客户端亲和性,即不能确保来自同一客户端的连接请求始终定向到同一终端节点。
  • SOURCE_IP:保持客户端亲和性,即客户端访问有状态的应用程序时,可以将来自同一客户端的所有请求都定向到同一终端节点,而不考虑源端口和协议。
Certificates List SSL证书。 更多信息,请参见Certificates属性
SecurityPolicyId String 安全策略实例ID。 取值:
  • tls_cipher_policy_1_0
    • 支持的TLS版本:TLSv1.0、TLSv1.1和TLSv1.2。
    • 支持的加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、AES128-GCM-SHA256、AES256-GCM-SHA384、AES128-SHA256、AES256-SHA256、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。
  • tls_cipher_policy_1_1
    • 支持的TLS版本: TLSv1.1和TLSv1.2。
    • 支持的加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、AES128-GCM-SHA256、AES256-GCM-SHA384、AES128-SHA256、AES256-SHA256、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。
  • tls_cipher_policy_1_2
    • 支持的TLS版本:TLSv1.2。
    • 支持的加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、AES128-GCM-SHA256、AES256-GCM-SHA384、AES128-SHA256、AES256-SHA256、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。
  • tls_cipher_policy_1_2_strict
    • 支持的TLS版本:TLSv1.2。
    • 支持的加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、ECDHE-RSA-AES128-SHA和ECDHE-RSA-AES256-SHA。
  • tls_cipher_policy_1_2_strict_with_1_3
    • 支持的TLS版本:TLSv1.2及TLSv1.3。
    • 支持的加密算法套件:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_AES_128_CCM_SHA256、TLS_AES_128_CCM_8_SHA256、ECDHE-ECDSA-AES128-GCM-SHA256、ECDHE-ECDSA-AES256-GCM-SHA384、ECDHE-ECDSA-AES128-SHA256、ECDHE-ECDSA-AES256-SHA384、ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、ECDHE-ECDSA-AES128-SHA、ECDHE-ECDSA-AES256-SHA、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA。
说明 仅HTTPS监听支持此参数。
ProxyProtocol Boolean 是否开启保持客户端源IP功能。 取值:
  • true:开启保持客户端源IP功能。

    开启后,支持后端服务查看客户端的原始IP地址。

  • false(默认值):不开启保持客户端源IP功能。
说明 该参数后续将不在监听API中配置,建议在终端节点组的相关API中进行配置。

关于ProxyProtocol的更多信息,请参见CreateEndpointGroupUpdateEndpointGroup

XForwardedForConfig Map XForward字段配置信息。 更多信息,请参见XForwardedForConfig属性

Certificates语法

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

Certificates属性

属性名称 类型 必须 允许更新 描述 约束
Id String SSL证书ID。
说明 仅HTTPS协议的监听需要配置该参数。

XForwardedForConfig语法

"XForwardedForConfig": {
  "XRealIpEnabled": Boolean,
  "XForwardedForGaIdEnabled": Boolean,
  "XForwardedForGaApEnabled": Boolean,
  "XForwardedForPortEnabled": Boolean,
  "XForwardedForProtoEnabled": Boolean
}

XForwardedForConfig属性

属性名称 类型 必须 允许更新 描述 约束
XRealIpEnabled Boolean 是否通过X-Real-IP字段获取真实的客户端IP。 取值:
  • true:通过X-Real-IP字段获取真实的客户端IP。
  • false(默认值):不通过X-Real-IP字段获取真实的客户端IP。
说明 仅HTTP和HTTPS监听支持此参数。
XForwardedForGaIdEnabled Boolean 是否通过GA-ID头字段获取全球加速实例ID。 取值:
  • true:通过GA-ID头字段获取全球加速实例ID。
  • false(默认值):不通过GA-ID头字段获取全球加速实例ID。
说明 仅HTTP和HTTPS监听支持此参数。
XForwardedForGaApEnabled Boolean 是否通过GA-AP字段获取加速地域信息。 取值:
  • true:通过GA-AP字段获取加速地域信息。
  • false(默认值):不通过GA-AP字段获取加速地域信息。
说明 仅HTTP和HTTPS监听支持此参数。
XForwardedForPortEnabled Boolean 是否通过GA-X-Forward-Port字段获取全球加速实例的监听端口。 取值:
  • true:通过GA-X-Forward-Port字段获取全球加速实例的监听端口。
  • false(默认值):不通过GA-X-Forward-Port字段获取全球加速实例的监听端口。
说明 仅HTTP和HTTPS监听支持此参数。
XForwardedForProtoEnabled Boolean 是否通过GA-X-Forward-Proto字段获取全球加速实例的监听协议。 取值:
  • true:通过GA-X-Forward-Proto字段获取全球加速实例的监听协议。
  • false(默认值):不通过GA-X-Forward-Proto字段获取全球加速实例的监听协议。
说明 仅HTTP和HTTPS监听支持此参数。

PortRanges语法

"PortRanges": [
  {
    "FromPort": Integer,
    "ToPort": Integer
  }
]

PortRanges属性

属性名称 类型 必须 允许更新 描述 约束
FromPort Integer 用来接收请求并向终端节点进行转发的起始监听端口。
ToPort Integer 用来接收请求并向终端节点进行转发的结束监听端口。

返回值

Fn::GetAtt

ListenerId:监听ID。

示例

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "Description": {
      "Type": "String",
      "Description": "The description of the listener."
    },
    "PortRanges": {
      "Type": "Json",
      "Description": "",
      "MinLength": 1,
      "MaxLength": 10
    },
    "Protocol": {
      "Type": "String",
      "Description": "The network transmission protocol of the listener. Valid values:\ntcp: TCP protocol\nudp: UDP protocol",
      "AllowedValues": [
        "tcp",
        "udp"
      ]
    },
    "AcceleratorId": {
      "Type": "String",
      "Description": "The ID of the Global Accelerator instance to which the listener will be added."
    },
    "Name": {
      "Type": "String",
      "Description": "The name of the listener.\nThe name must be 2 to 128 characters in length and can contain letters, digits, underscores\n(_), and hyphens (-). It must start with a letter or Chinese character."
    },
    "ClientAffinity": {
      "Type": "String",
      "Description": "Specifies whether to enable client affinity for the listener.\nIf you do not specify the default value in the parameter, client affinity is disabled.\nWhen client affinity is disabled, the connections from a specific source (client)\nIP address are not always routed to the same endpoint.\nIf you set the value to SOURCE_IP, client affinity is enabled. When client affinity is enabled, the connections from\na specific source (client) IP address are always routed to the same endpoint.",
      "AllowedValues": [
        "NONE",
        "SOURCE_IP"
      ]
    }
  },
  "Resources": {
    "Listener": {
      "Type": "ALIYUN::GA::Listener",
      "Properties": {
        "Description": {
          "Ref": "Description"
        },
        "PortRanges": {
          "Ref": "PortRanges"
        },
        "Protocol": {
          "Ref": "Protocol"
        },
        "AcceleratorId": {
          "Ref": "AcceleratorId"
        },
        "Name": {
          "Ref": "Name"
        },
        "ClientAffinity": {
          "Ref": "ClientAffinity"
        }
      }
    }
  },
  "Outputs": {
    "ListenerId": {
      "Description": "The ID of the listener.",
      "Value": {
        "Fn::GetAtt": [
          "Listener",
          "ListenerId"
        ]
      }
    }
  }
}

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  Description:
    Type: String
    Description: The description of the listener.
  PortRanges:
    Type: Json
    Description: ''
    MinLength: 1
    MaxLength: 10
  Protocol:
    Type: String
    Description: |-
      The network transmission protocol of the listener. Valid values:
      tcp: TCP protocol
      udp: UDP protocol
    AllowedValues:
      - tcp
      - udp
  AcceleratorId:
    Type: String
    Description: >-
      The ID of the Global Accelerator instance to which the listener will be
      added.
  Name:
    Type: String
    Description: >-
      The name of the listener.

      The name must be 2 to 128 characters in length and can contain letters,
      digits, underscores

      (_), and hyphens (-). It must start with a letter or Chinese character.
  ClientAffinity:
    Type: String
    Description: >-
      Specifies whether to enable client affinity for the listener.

      If you do not specify the default value in the parameter, client affinity
      is disabled.

      When client affinity is disabled, the connections from a specific source
      (client)

      IP address are not always routed to the same endpoint.

      If you set the value to SOURCE_IP, client affinity is enabled. When client
      affinity is enabled, the connections from

      a specific source (client) IP address are always routed to the same
      endpoint.
    AllowedValues:
      - NONE
      - SOURCE_IP
Resources:
  Listener:
    Type: 'ALIYUN::GA::Listener'
    Properties:
      Description:
        Ref: Description
      PortRanges:
        Ref: PortRanges
      Protocol:
        Ref: Protocol
      AcceleratorId:
        Ref: AcceleratorId
      Name:
        Ref: Name
      ClientAffinity:
        Ref: ClientAffinity
Outputs:
  ListenerId:
    Description: The ID of the listener.
    Value:
      'Fn::GetAtt':
        - Listener
        - ListenerId