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协议。
  • http:HTTP协议。
  • https:HTTPS协议。
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。

示例

  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      AcceleratorId:
        Type: String
        Description: The ID of the Global Accelerator instance to which the listener will be added.
    Resources:
      Listener:
        Type: ALIYUN::GA::Listener
        Properties:
          PortRanges:
            - FromPort: 336
              ToPort: 335
          Protocol: tcp
          AcceleratorId:
            Ref: AcceleratorId
          Name: TestListener
          ClientAffinity: NONE
    Outputs:
      ListenerId:
        Description: The ID of the listener.
        Value:
          Fn::GetAtt:
            - Listener
            - ListenerId
  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "AcceleratorId": {
          "Type": "String",
          "Description": "The ID of the Global Accelerator instance to which the listener will be added."
        }
      },
      "Resources": {
        "Listener": {
          "Type": "ALIYUN::GA::Listener",
          "Properties": {
            "PortRanges": [
              {
                "FromPort": 336,
                "ToPort": 335
              }
            ],
            "Protocol": "tcp",
            "AcceleratorId": {
              "Ref": "AcceleratorId"
            },
            "Name": "TestListener",
            "ClientAffinity": "NONE"
          }
        }
      },
      "Outputs": {
        "ListenerId": {
          "Description": "The ID of the listener.",
          "Value": {
            "Fn::GetAtt": [
              "Listener",
              "ListenerId"
            ]
          }
        }
      }
    }