華為云計(jì)算 云知識(shí) 更新監(jiān)聽器UpdateListener
更新監(jiān)聽器UpdateListener

 

功能介紹

更新監(jiān)聽器。包括名稱、描述、關(guān)聯(lián)的后端 云服務(wù)器 組、使用的服務(wù)器證書等。

接口約束

  • 如果監(jiān)聽器關(guān)聯(lián)的 負(fù)載均衡 器的provisioning status不是ACTIVE,則不能更新該監(jiān)聽器。
  • 只有具有ELB管理員權(quán)限的用戶才能指定connection_limit的值。
  • default_pool_id有如下限制:
    • 不能更新為其他監(jiān)聽器的default_pool。
    • 不能更新為其他監(jiān)聽器的關(guān)聯(lián)的轉(zhuǎn)發(fā)策略所使用的pool。
  • default_pool_id對(duì)應(yīng)的后端云服務(wù)器組的protocol和監(jiān)聽器的protocol有如下關(guān)系:
    • 監(jiān)聽器的protocol為TCP時(shí),后端云服務(wù)器組的protocol必須為TCP。
    • 監(jiān)聽器的protocol為UDP時(shí),后端云服務(wù)器組的protocol必須為UDP。
    • 監(jiān)聽器的protocol為HTTP或TERMINATED_HTTPS時(shí),后端云服務(wù)器組的protocol必須為HTTP。

調(diào)試

您可以在API Explorer中直接運(yùn)行調(diào)試該接口。

URI

PUT /v2/{project_id}/elb/listeners/{listener_id}

表1 參數(shù)說明

參數(shù)

是否必選

參數(shù)類型

描述

project_id

String

操作用戶的項(xiàng)目ID。

獲取方法詳見獲取項(xiàng)目ID

listener_id

String

監(jiān)聽器id。

請(qǐng)求消息

表2 請(qǐng)求參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

listener

Listener object

監(jiān)聽器對(duì)象。詳見表3。

表3 listener字段說明

參數(shù)

是否必選

參數(shù)類型

描述

name

String

監(jiān)聽器名稱。

注意:若名稱為空,則在控制臺(tái)的監(jiān)聽器列表無法選擇并查看監(jiān)聽器詳情。

支持的最大字符長(zhǎng)度:255

description

String

監(jiān)聽器描述信息。

支持的最大字符長(zhǎng)度:255

connection_limit

Integer

監(jiān)聽器最大連接數(shù)。

取值范圍:[-1, 2147483647]。

該字段為預(yù)留字段,暫未啟用,請(qǐng)勿使用。只有具有ELB管理員權(quán)限的用戶可以指定。

http2_enable

Boolean

HTTP2功能的開啟狀態(tài)。

取值范圍:true/false。true:開啟。false:關(guān)閉。

僅針對(duì)監(jiān)聽器的協(xié)議為TERMINATED_HTTPS有意義。

default_pool_id

String

監(jiān)聽器的默認(rèn)后端云服務(wù)器組ID。

當(dāng)請(qǐng)求沒有匹配的轉(zhuǎn)發(fā)策略時(shí),轉(zhuǎn)發(fā)到默認(rèn)后端云服務(wù)器上處理。當(dāng)該字段為null時(shí),表示監(jiān)聽器無默認(rèn)的后端云服務(wù)器組。

default_pool_id有如下限制:
  • 不能更新為其他監(jiān)聽器的default_pool。
  • 不能更新為其他監(jiān)聽器關(guān)聯(lián)的轉(zhuǎn)發(fā)策略所使用的pool。
監(jiān)聽器和與之綁定的后端云服務(wù)器的對(duì)應(yīng)關(guān)系如下:
  • 監(jiān)聽器的protocol為TCP時(shí),后端云服務(wù)器組的protocol必須為TCP。
  • 監(jiān)聽器的protocol為UDP時(shí),后端云服務(wù)器組的protocol必須為UDP。
  • 監(jiān)聽器的protocol為HTTP或TERMINATED_HTTPS時(shí),后端云服務(wù)器組的protocol必須為HTTP。

admin_state_up

Boolean

監(jiān)聽器的管理狀態(tài)。

該字段為預(yù)留字段,暫未啟用。默認(rèn)為true。

default_tls_container_ref

String

監(jiān)聽器使用的服務(wù)器證書ID。

支持的最大字符長(zhǎng)度:128

詳細(xì)參見SSL證書管理。

當(dāng)protocol參數(shù)為TERMINATED_HTTPS時(shí),為必選字段。

client_ca_tls_container_ref

String

監(jiān)聽器使用的CA證書ID。

支持的最大字符長(zhǎng)度:128

詳細(xì)參見SSL證書管理。

sni_container_refs

Array

監(jiān)聽器使用的SNI證書(帶域名的服務(wù)器證書)ID的列表。

該字段不為空列表時(shí),SNI特性開啟。該字段為空列表時(shí),SNI特性關(guān)閉。

insert_headers

InsertHeaders object

HTTP擴(kuò)展頭部,內(nèi)部字段全量同步,不選則為默認(rèn)值。

可以將從負(fù)載均衡器到后端云服務(wù)器的路徑中需要被后端云服務(wù)器用到的信息寫入HTTP中,隨報(bào)文傳遞到后端云服務(wù)器上。

例如可通過X-Forwarded-ELB-IP開關(guān),將負(fù)載均衡器的 彈性公網(wǎng)IP 傳到后端云服務(wù)器。詳細(xì)參見表4。

說明:

僅當(dāng)監(jiān)聽器的協(xié)議為HTTP、TERMINATED_HTTPS時(shí),該字段有意義。

tls_ciphers_policy

String

監(jiān)聽器使用的安全策略,僅對(duì)TERMINATED_HTTPS協(xié)議類型的監(jiān)聽器有效。

取值包括:tls-1-0-inherit,tls-1-0, tls-1-1, tls-1-2, tls-1-2-strict多種安全策略。各安全策略使用的加密套件列表詳細(xì)參見表5。

表4 insert_headers字段說明

參數(shù)

是否必選

參數(shù)類型

描述

X-Forwarded-ELB-IP

Boolean

負(fù)載均衡器彈性 公網(wǎng)IP 透?jìng)鏖_關(guān)。打開時(shí)可以將負(fù)載均衡器的彈性公網(wǎng)IP從報(bào)文的HTTP頭中帶到后端云服務(wù)器。

取值范圍:true/false。true:開啟。false:關(guān)閉。

默認(rèn):關(guān)閉。

X-Forwarded-Host

Boolean

負(fù)載均衡器X-Forwarded-Host重寫開關(guān)。打開時(shí)可以將客戶請(qǐng)求頭的X-Forwarded-Host設(shè)置為請(qǐng)求頭的Host帶到后端云服務(wù)器

取值范圍:true/false。true:開啟。false:關(guān)閉。

默認(rèn):開啟。

表5 tls_ciphers_policy取值說明

安全策略

支持的TLS版本類型

使用的加密套件列表

tls-1-0-inherit

TLS 1.2 TLS 1.1 TLS 1.0

ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-SHA:AES256-SHA:DHE-DSS-AES128-SHA:CAMELLIA128-SHA:EDH-RSA-DES-CBC3-SHA:DES-CBC3-SHA:ECDHE-RSA-RC4-SHA:RC4-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-DSS-CAMELLIA256-SHA:CAMELLIA256-SHA:EDH-DSS-DES-CBC3-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-DSS-CAMELLIA128-SHA

tls-1-0

TLS 1.2 TLS 1.1 TLS 1.0

ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-SHA:AES256-SHA

tls-1-1

TLS 1.2 TLS 1.1

tls-1-2

TLS 1.2

tls-1-2-strict

TLS 1.2

ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

響應(yīng)消息

表6 響應(yīng)參數(shù)

參數(shù)

參數(shù)類型

描述

listener

Listener object

監(jiān)聽器對(duì)象。詳見表7。

表7 listener字段說明

參數(shù)

參數(shù)類型

描述

id

String

監(jiān)聽器ID。

tenant_id

String

監(jiān)聽器所在的項(xiàng)目ID。

支持的最大字符長(zhǎng)度:255

project_id

String

此參數(shù)和tenant_id參數(shù)含義一樣,均指監(jiān)聽器所在的項(xiàng)目ID。

name

String

監(jiān)聽器名稱。

注意:若名稱為空,則在控制臺(tái)的監(jiān)聽器列表無法選擇并查看監(jiān)聽器詳情。

支持的最大字符長(zhǎng)度:255

description

String

監(jiān)聽器描述信息。

支持的最大字符長(zhǎng)度:255

protocol

String

監(jiān)聽器的監(jiān)聽協(xié)議。

支持TCP、HTTP、UDP、TERMINATED_HTTPS。

protocol_port

Integer

監(jiān)聽器的監(jiān)聽端口。

取值范圍:[1, 65535]。

loadbalancers

Array of Loadbalancers objects

監(jiān)聽器關(guān)聯(lián)的負(fù)載均衡器 ID。詳細(xì)參見表8。

connection_limit

Integer

監(jiān)聽器的最大連接數(shù)。

取值范圍:[-1, 2147483647]。默認(rèn)為-1,無連接數(shù)限制。

該字段為預(yù)留字段,暫未啟動(dòng)。

admin_state_up

Boolean

監(jiān)聽器的管理狀態(tài)。

該字段為預(yù)留字段,暫未啟用。取值范圍:true/false。

  • true表示開啟。
  • false表示關(guān)閉。

http2_enable

Boolean

HTTP2功能的開啟狀態(tài)。

取值范圍:true/false。true:開啟。false:關(guān)閉。

僅針對(duì)監(jiān)聽器的協(xié)議為TERMINATED_HTTPS有意義。

default_pool_id

String

監(jiān)聽器的默認(rèn)后端云服務(wù)器組ID。

當(dāng)請(qǐng)求沒有匹配的轉(zhuǎn)發(fā)策略時(shí),轉(zhuǎn)發(fā)到默認(rèn)后端云服務(wù)器上處理。當(dāng)該字段為null時(shí),表示監(jiān)聽器無默認(rèn)的后端云服務(wù)器組。

default_tls_container_ref

String

監(jiān)聽器使用的服務(wù)器證書ID。詳細(xì)參見SSL證書管理。

當(dāng)protocol參數(shù)為TERMINATED_HTTPS時(shí),為必選字段。

支持的最大字符長(zhǎng)度:128

client_ca_tls_container_ref

String

監(jiān)聽器使用的CA證書ID。

支持的最大字符長(zhǎng)度:128

詳細(xì)參見SSL證書管理。

sni_container_refs

Array

監(jiān)聽器使用的SNI證書(帶域名的服務(wù)器證書)ID的列表。

該字段不為空列表時(shí),SNI特性開啟。該字段為空列表時(shí),SNI特性關(guān)閉。

tags

Array

監(jiān)聽器的標(biāo)簽。

created_at

String

監(jiān)聽器的創(chuàng)建時(shí)間。YYYY-MM-DDTHH:MM:SS

updated_at

String

監(jiān)聽器的更新時(shí)間。YYYY-MM-DDTHH:MM:SS

insert_headers

InsertHeaders object

HTTP擴(kuò)展頭部,內(nèi)部字段全量同步,不選則為默認(rèn)值。

可以將從負(fù)載均衡器到后端云服務(wù)器的路徑中需要被后端云服務(wù)器用到的信息寫入HTTP中,隨報(bào)文傳遞到后端云服務(wù)器上。

例如可通過X-Forwarded-ELB-IP開關(guān),將負(fù)載均衡器的彈性公網(wǎng)IP傳到后端云服務(wù)器。詳細(xì)參見表9。

tls_ciphers_policy

String

監(jiān)聽器使用的安全策略,僅對(duì)TERMINATED_HTTPS協(xié)議類型的監(jiān)聽器有效,且默認(rèn)值為tls-1-0。

取值包括:tls-1-0-inherit,tls-1-0, tls-1-1, tls-1-2, tls-1-2-strict多種安全策略。各安全策略使用的加密套件列表。詳細(xì)參見表10。

表8 loadbalancers字段說明

參數(shù)

是否必選

參數(shù)類型

描述

id

String

關(guān)聯(lián)的負(fù)載均衡器id

表9 insert_headers字段說明

參數(shù)

是否必選

參數(shù)類型

描述

X-Forwarded-ELB-IP

Boolean

負(fù)載均衡器彈性公網(wǎng)IP透?jìng)鏖_關(guān)。打開時(shí)可以將負(fù)載均衡器的彈性公網(wǎng)IP從報(bào)文的HTTP頭中帶到后端云服務(wù)器。

取值范圍:true/false。true:開啟。false:關(guān)閉。

默認(rèn):關(guān)閉。

X-Forwarded-Host

Boolean

負(fù)載均衡器X-Forwarded-Host重寫開關(guān)。打開時(shí)可以將客戶請(qǐng)求頭的X-Forwarded-Host設(shè)置為請(qǐng)求頭的Host帶到后端云服務(wù)器

取值范圍:true/false。true:開啟。false:關(guān)閉。

默認(rèn):開啟。

表10 tls_ciphers_policy取值說明

安全策略

支持的TLS版本類型

使用的加密套件列表

tls-1-0-inherit

TLS 1.2 TLS 1.1 TLS 1.0

ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-SHA:AES256-SHA:DHE-DSS-AES128-SHA:CAMELLIA128-SHA:EDH-RSA-DES-CBC3-SHA:DES-CBC3-SHA:ECDHE-RSA-RC4-SHA:RC4-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-DSS-CAMELLIA256-SHA:CAMELLIA256-SHA:EDH-DSS-DES-CBC3-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-DSS-CAMELLIA128-SHA

tls-1-0

TLS 1.2 TLS 1.1 TLS 1.0

ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AES128-SHA:AES256-SHA

tls-1-1

TLS 1.2 TLS 1.1

tls-1-2

TLS 1.2

tls-1-2-strict

TLS 1.2

ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384

請(qǐng)求示例

  • 請(qǐng)求樣例 更新監(jiān)聽器
    PUT https://{Endpoint}/v2/601240b9c5c94059b63d484c92cfe308/elb/listeners/f622c150-72f5-4263-a47a-e5003c652aa3
    { 
        "listener": { 
            "description": "my listener", 
            "name": "listener-jy-test2",
            "default_tls_container_ref": "23b58a961a4d4c95be585e98046e657a",
            "client_ca_tls_container_ref": "417a0976969f497db8cbb083bff343ba",
            "default_pool_id": "c61310de-9a06-4f0c-850c-6f4797b9984c"
        } 
    }

響應(yīng)示例

  • 響應(yīng)樣例
    {
        "listener": {
            "client_ca_tls_container_ref": "417a0976969f497db8cbb083bff343ba",
            "protocol": "TERMINATED_HTTPS",
            "description": "my listener",
            "default_tls_container_ref": "23b58a961a4d4c95be585e98046e657a",
            "admin_state_up": true,
            "http2_enable": false,
            "loadbalancers": [
                {
                    "id": "165b6a38-5278-4569-b747-b2ee65ea84a4"
                }
            ],
            "tenant_id": "601240b9c5c94059b63d484c92cfe308",
            "project_id": "601240b9c5c94059b63d484c92cfe308",
            "sni_container_refs": [],
            "connection_limit": -1,
            "protocol_port": 443,
            "tags": [],
            "default_pool_id": "c61310de-9a06-4f0c-850c-6f4797b9984c",
            "id": "f622c150-72f5-4263-a47a-e5003c652aa3",
            "name": "listener-jy-test2",
                "insert_headers":{
                    "X-Forwarded-ELB-IP":true,
                    "X-Forwarded-Host":true
                },
            "created_at": "2018-07-25T01:54:13", 
            "updated_at": "2018-07-25T01:54:14"
        }
    }

返回碼

請(qǐng)參見狀態(tài)碼。