全部產品
Search
文件中心

Resource Orchestration Service:ALIYUN::ALB::Listener

更新時間:Oct 30, 2024

ALIYUN::ALB::Listener類型用於建立HTTP、HTTPS或QUIC監聽。

文法

{
  "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
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

DefaultActions

List

規則動作列表。

取值樣本:

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

更多資訊,請參見DefaultActions屬性

ListenerPort

Integer

監聽連接埠。

取值範圍:1~65,535。

ListenerProtocol

String

監聽協議。

取值:

  • HTTP

  • HTTPS

  • QUIC

LoadBalancerId

String

Server Load Balancer執行個體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屬性

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監聽支援指定該參數。

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
}

XForwardedForConfig屬性

屬性名稱

類型

必須

允許更新

描述

約束

XForwardedForClientCertClientVerifyAlias

String

自訂頭名稱,用於擷取對訪問Server Load Balancer執行個體用戶端認證的校正結果。

當XForwardedForClientCertClientVerifyEnabled取值為true時,該參數有效。

長度為1~40個字元,可包含小寫英文字母、數字、短劃線(-)和底線(_)。

說明

僅HTTPS監聽支援指定該參數。

XForwardedForClientCertClientVerifyEnabled

Boolean

是否通過X-Forwarded-Clientcert-clientverify頭欄位擷取對訪問Server Load Balancer執行個體用戶端認證的校正結果。

取值:

  • true:通過。

  • false(預設值):不通過。

說明

僅HTTPS監聽支援指定該參數。

XForwardedForClientCertFingerprintAlias

String

自訂頭名稱,用於擷取訪問Server Load Balancer執行個體用戶端認證的指紋取值。

當XForwardedForClientCertFingerprintEnabled取值為true時,該參數有效。

長度為1~40個字元,可包含小寫英文字母、數字、短劃線(-)和底線(_)。

說明

僅HTTPS監聽支援指定該參數。

XForwardedForClientCertFingerprintEnabled

Boolean

是否通過X-Forwarded-Clientcert-fingerprint頭欄位擷取訪問Server Load Balancer執行個體用戶端認證的指紋取值。

取值:

  • true:通過。

  • false(預設值):不通過。

說明

僅HTTPS監聽支援指定該參數。

XForwardedForClientCertIssuerDNAlias

String

自訂頭名稱,用於擷取訪問Server Load Balancer執行個體用戶端認證的發行者資訊。

當XForwardedForClientCertIssuerDNEnabled取值為true時,該參數有效。

長度為1~40個字元,可包含小寫英文字母、數字、短劃線(-)和底線(_)。

說明

僅HTTPS監聽支援指定該參數。

XForwardedForClientCertIssuerDNEnabled

Boolean

是否通過X-Forwarded-Clientcert-issuerdn頭欄位擷取訪問Server Load Balancer執行個體用戶端認證的發行者資訊。

取值:

  • true:通過。

  • false(預設值):不通過。

說明

僅HTTPS監聽支援指定該參數。

XForwardedForClientCertSubjectDNAlias

String

自訂頭名稱,用於擷取訪問Server Load Balancer執行個體用戶端認證的所有者資訊。

當XForwardedForClientCertSubjectDNEnabled取值為true時,該參數有效。

長度為1~40個字元,可包含小寫英文字母、數字、短劃線(-)和底線(_)。

說明

僅HTTPS監聽支援指定該參數。

XForwardedForClientCertSubjectDNEnabled

Boolean

是否通過X-Forwarded-Clientcert-subjectdn頭欄位擷取訪問Server Load Balancer執行個體用戶端認證的所有者資訊。

取值:

  • true:通過。

  • false(預設值):不通過。

說明

僅HTTPS監聽支援指定該參數。

XForwardedForClientSourceIpsEnabled

Boolean

是否通過X-Forwarded-Client-SourceIps頭欄位擷取訪問Server Load Balancer執行個體用戶端的源連接埠。

取值:

  • true:通過。

  • false(預設值):不通過。

XForwardedForClientSourceIpsTrusted

String

指定可信的代理 IP。

應用型負載平衡 ALB 會從後往前遍曆X-Forwarded-For,選取第一個不在可信 IP 列表中的 IP 作為真實的用戶端 IP,該 IP 會被用於源 IP 限速。

XForwardedForClientSrcPortEnabled

Boolean

是否通過X-Forwarded-Client-Port頭欄位擷取訪問Server Load Balancer執行個體用戶端的連接埠。

取值:

  • true:通過。

  • false(預設值):不通過。

說明

僅HTTP和HTTPS監聽支援指定該參數。

XForwardedForEnabled

Boolean

是否通過X-Forwarded-For頭欄位擷取來訪者真實IP地址。

取值:

  • true(預設值):通過。

  • false:不通過。

說明

僅HTTP和HTTPS監聽支援指定該參數。

XForwardedForProtoEnabled

Boolean

是否通過X-Forwarded-Proto頭欄位擷取Server Load Balancer執行個體的監聽協議。

取值:

  • true:通過。

  • false(預設值):不通過。

XForwardedForSLBIdEnabled

Boolean

是否通過SLB-ID頭欄位擷取Server Load Balancer執行個體ID。

取值:

  • true:通過。

  • false(預設值):不通過。

XForwardedForSLBPortEnabled

Boolean

是否通過X-Forwarded-Port頭欄位擷取Server Load Balancer執行個體的監聽連接埠。

取值:

  • true:通過。

  • false(預設值):不通過。

CaCertificates文法

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

CaCertificates屬性

屬性名稱

類型

必須

允許更新

描述

約束

CertificateId

String

CA認證ID。

傳回值

Fn::GetAtt

ListenerId:監聽ID。

樣本

YAML格式

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                

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"
        ]
      }
    }
  }
}