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 | 是 | 是 | 規則動作列表。 | 取值樣本:
更多資訊,請參見DefaultActions屬性。 |
ListenerPort | Integer | 是 | 否 | 監聽連接埠。 | 取值範圍:1~65,535。 |
ListenerProtocol | String | 是 | 否 | 監聽協議。 | 取值:
|
LoadBalancerId | String | 是 | 否 | Server Load Balancer執行個體ID。 | 無 |
CaCertificates | List | 否 | 是 | CA認證資訊。 | 更多資訊,請參見CaCertificates屬性。 |
CaEnabled | Boolean | 否 | 是 | 是否開啟雙向認證。 | 取值:
|
Certificates | List | 否 | 是 | 認證。 | 更多資訊,請參見Certificates屬性。 |
GzipEnabled | Boolean | 否 | 是 | 是否開啟Gzip壓縮,壓縮特定檔案類型。 | 取值:
|
Http2Enabled | Boolean | 否 | 是 | 是否開啟HTTP/2特性。 | 取值:
說明 僅HTTPS監聽支援指定該參數。 |
IdleTimeout | Integer | 否 | 是 | 串連空閑逾時時間。 | 取值範圍:1~60。 預設值:15。 單位:秒。 如果在逾時時間內一直沒有訪問請求,負載平衡會暫時中斷當前串連,直到下一次請求來臨時重建立立新的串連。 |
ListenerDescription | String | 否 | 是 | 監聽的描述資訊。 | 長度為2~256個字元。 |
ListenerStatus | String | 否 | 是 | 監聽的狀態。 | 取值:
|
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時必須指定該參數。 說明
|
QuicUpgradeEnabled | Boolean | 否 | 是 | 是否開啟QUIC升級。 | 取值:
說明 僅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執行個體用戶端認證的校正結果。 | 取值:
說明 僅HTTPS監聽支援指定該參數。 |
XForwardedForClientCertFingerprintAlias | String | 否 | 是 | 自訂頭名稱,用於擷取訪問Server Load Balancer執行個體用戶端認證的指紋取值。 | 當XForwardedForClientCertFingerprintEnabled取值為true時,該參數有效。 長度為1~40個字元,可包含小寫英文字母、數字、短劃線(-)和底線(_)。 說明 僅HTTPS監聽支援指定該參數。 |
XForwardedForClientCertFingerprintEnabled | Boolean | 否 | 是 | 是否通過X-Forwarded-Clientcert-fingerprint頭欄位擷取訪問Server Load Balancer執行個體用戶端認證的指紋取值。 | 取值:
說明 僅HTTPS監聽支援指定該參數。 |
XForwardedForClientCertIssuerDNAlias | String | 否 | 是 | 自訂頭名稱,用於擷取訪問Server Load Balancer執行個體用戶端認證的發行者資訊。 | 當XForwardedForClientCertIssuerDNEnabled取值為true時,該參數有效。 長度為1~40個字元,可包含小寫英文字母、數字、短劃線(-)和底線(_)。 說明 僅HTTPS監聽支援指定該參數。 |
XForwardedForClientCertIssuerDNEnabled | Boolean | 否 | 是 | 是否通過X-Forwarded-Clientcert-issuerdn頭欄位擷取訪問Server Load Balancer執行個體用戶端認證的發行者資訊。 | 取值:
說明 僅HTTPS監聽支援指定該參數。 |
XForwardedForClientCertSubjectDNAlias | String | 否 | 是 | 自訂頭名稱,用於擷取訪問Server Load Balancer執行個體用戶端認證的所有者資訊。 | 當XForwardedForClientCertSubjectDNEnabled取值為true時,該參數有效。 長度為1~40個字元,可包含小寫英文字母、數字、短劃線(-)和底線(_)。 說明 僅HTTPS監聽支援指定該參數。 |
XForwardedForClientCertSubjectDNEnabled | Boolean | 否 | 是 | 是否通過X-Forwarded-Clientcert-subjectdn頭欄位擷取訪問Server Load Balancer執行個體用戶端認證的所有者資訊。 | 取值:
說明 僅HTTPS監聽支援指定該參數。 |
XForwardedForClientSourceIpsEnabled | Boolean | 否 | 是 | 是否通過X-Forwarded-Client-SourceIps頭欄位擷取訪問Server Load Balancer執行個體用戶端的源連接埠。 | 取值:
|
XForwardedForClientSourceIpsTrusted | String | 否 | 是 | 指定可信的代理 IP。 | 應用型負載平衡 ALB 會從後往前遍曆 |
XForwardedForClientSrcPortEnabled | Boolean | 否 | 是 | 是否通過X-Forwarded-Client-Port頭欄位擷取訪問Server Load Balancer執行個體用戶端的連接埠。 | 取值:
說明 僅HTTP和HTTPS監聽支援指定該參數。 |
XForwardedForEnabled | Boolean | 否 | 是 | 是否通過X-Forwarded-For頭欄位擷取來訪者真實IP地址。 | 取值:
說明 僅HTTP和HTTPS監聽支援指定該參數。 |
XForwardedForProtoEnabled | Boolean | 否 | 是 | 是否通過X-Forwarded-Proto頭欄位擷取Server Load Balancer執行個體的監聽協議。 | 取值:
|
XForwardedForSLBIdEnabled | Boolean | 否 | 是 | 是否通過SLB-ID頭欄位擷取Server Load Balancer執行個體ID。 | 取值:
|
XForwardedForSLBPortEnabled | Boolean | 否 | 是 | 是否通過X-Forwarded-Port頭欄位擷取Server Load Balancer執行個體的監聽連接埠。 | 取值:
|
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"
]
}
}
}
}