tencent cloud

CreateListener
Last updated: 2025-11-25 10:11:24
CreateListener
Last updated: 2025-11-25 10:11:24

1. API Description

Domain name for API request: clb.intl.tencentcloudapi.com.

This API is used to create a listener for a CLB instance.
This is an asynchronous API. After it returns the result successfully, you can call the DescribeTaskStatus API with the returned RequestId as an input parameter to query whether the task is successful.

A maximum of 20 requests can be initiated per second for this API.

We recommend you to use API Explorer
Try it
API Explorer provides a range of capabilities, including online call, signature authentication, SDK code generation, and API quick search. It enables you to view the request, response, and auto-generated examples.

2. Input Parameters

The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.

Parameter Name Required Type Description
Action Yes String Common Params. The value used for this API: CreateListener.
Version Yes String Common Params. The value used for this API: 2018-03-17.
Region Yes String Common Params. For more information, please see the list of regions supported by the product.
LoadBalancerId Yes String ID of the CLB instance. You can call the DescribeLoadBalancers API to obtain the ID.
Ports.N Yes Array of Integer Ports for creating listeners. Each port corresponds to a listener.
Port range: 1–65535.
Protocol Yes String Listener protocol. Valid values: TCP, UDP, HTTP, HTTPS, TCP_SSL, and QUIC.
ListenerNames.N No Array of String List of names of listeners to be created. The names correspond to ports one by one. This parameter can be left blank if you do not want to name the listeners immediately.
HealthCheck No HealthCheck Health check parameter. This parameter applies only to TCP, UDP, TCP_SSL, and QUIC listeners.
Certificate No CertificateInput Certificate-related information. The parameter limitations are as follows:
  • This parameter applies only to TCP_SSL listeners and HTTPS listeners with the SNI feature disabled.
  • Either this parameter or the MultiCertInfo parameter should be specified when you create a TCP_SSL listener or an HTTPS listener with the SNI feature disabled. You cannot specify them at the same time.
  • SessionExpireTime No Integer Session persistence duration, in seconds. Value range: 30–3600. Default value: 0, indicating that session persistence is not enabled by default. This parameter applies only to TCP and UDP listeners.
    Scheduler No String Listener forwarding mode. valid values: WRR (weighted round-robin), LEAST_CONN (LEAST connections).
    Default value: WRR. This parameter applies only to TCP, UDP, TCP_SSL, and QUIC listeners.
    SniSwitch No Integer Whether to enable the SNI feature. This parameter applies only to HTTPS listeners. 0: disable; 1: enable.
    TargetType No String Real server type. NODE: ordinary node; TARGETGROUP: real server group. This parameter applies only to TCP and UDP listeners. For layer-7 listeners, set the type in forwarding rules.
    SessionType No String Session persistence type. If this parameter is not specified or the value is set to NORMAL, the default session persistence type is used. QUIC_CID: perform session persistence based on QUIC connection ID. If the value is set to QUIC_CID, only the UDP protocol is supported. This parameter applies only to TCP and UDP listeners. For layer-7 listeners, set the type in forwarding rules. (If the value is set to QUIC_CID, the Protocol value should be UDP, the Scheduler value should be WRR, and only IPv4 addresses are supported.)
    KeepaliveEnable No Integer Whether to enable the persistent connection feature. This parameter applies only to HTTP and HTTPS listeners. 0: disable; 1: enable. This feature is disabled by default.
    Enable this feature with caution if the maximum number of connections is limited for real servers. This feature is in beta testing. To use it, submit a beta testing application.
    EndPort No Integer End port. This parameter is required for creating a listener with a port range. In this case, the input parameter Ports allows only one value to indicate the start port. To experience the port range feature, submit a ticket for application.
    DeregisterTargetRst No Boolean Reschedules when unbinding real servers. only supported for TCP/UDP listeners. toggle on to enable this feature.
    MultiCertInfo No MultiCertInfo Certificate information. You can import multiple server certificates with different algorithms at the same time. The parameter limitations are as follows:
  • This parameter applies only to TCP_SSL listeners and HTTPS listeners with the SNI feature disabled.
  • Either this parameter or the Certificate parameter should be specified when you create a TCP_SSL listener or an HTTPS listener with the SNI feature disabled. You cannot specify them at the same time.
  • MaxConn No Integer Maximum number of connections to a listener. Currently, this parameter applies only to TCP, UDP, TCP_SSL, and QUIC listeners of LCU-supported instances. If this parameter is not specified or the value is set to -1, the maximum number of connections is not limited. This parameter is not supported for classic network-based instances.
    MaxCps No Integer Maximum number of new connections to a listener. Currently, this parameter applies only to TCP, UDP, TCP_SSL, and QUIC listeners of LCU-supported instances. If this parameter is not specified or the value is set to -1, the maximum number of new connections is not limited. This parameter is not supported for classic network-based instances.
    IdleConnectTimeout No Integer Specifies the idle connection timeout in seconds. this parameter applies only to TCP/UDP listeners. default value: 900 for TCP listeners and 300 for UDP listeners. value range: 10–900 for shared instances and dedicated instances and 10–1980 for lcu-supported instances. to set a value exceeding the permissible range, submit a ticket for application.
    ProxyProtocol No Boolean Specifies whether PP is supported for TCP_SSL and QUIC.
    SnatEnable No Boolean Whether SNAT (source IP replacement) is enabled. valid values: True (enabled), False (disabled). disabled by default. note: when SnatEnable is enabled, the client source IP will be replaced, at this point the pass through client source IP option is disabled, and vice versa.
    FullEndPorts.N No Array of Integer End port of a listener with a port range. Range of the port: 2–65535.
    H2cSwitch No Boolean Enable private network http listener h2c switch. valid values: True (enable), False (disable).
    Disabled by default.
    SslCloseSwitch No Boolean Whether to disable SSL for TCP_SSL listeners. dual-stack binding is still supported after SSL is disabled. valid values: True (disable), False (enable).
    Disabled by default.
    DataCompressMode No String Data compression mode. Valid values: transparent (passthrough mode) and compatibility (compatibility mode).
    RescheduleTargetZeroWeight No Boolean Reschedules when setting backend server weight to 0. only supported for TCP/UDP listeners. toggle on to enable this feature.
    RescheduleUnhealthy No Boolean Reschedules when health check exceptions occur on real servers. only supported for TCP/UDP listeners. toggle on to enable this feature.
    RescheduleExpandTarget No Boolean Reschedules when adding or removing backend servers. only supported for TCP/UDP listeners. toggle on to enable this feature.
    RescheduleStartTime No Integer Specifies the trigger start time for rescheduling. value range: 0-3600s. supported only by TCP/UDP listeners.
    RescheduleInterval No Integer Rescheduling trigger duration. valid values: 0-3600s. only TCP/UDP listeners support this.

    3. Output Parameters

    Parameter Name Type Description
    ListenerIds Array of String Array of the unique IDs of created listeners.
    RequestId String The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.

    4. Example

    Example1 Creating an HTTPS Listener and Binding an Existing Certificate

    This example shows you how to create an HTTPS listener and bind an existing certificate.

    Input Example

    POST / HTTP/1.1
    Host: clb.intl.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateListener
    <Common request parameters>
    
    {
        "Protocol": "HTTPS",
        "Ports": [
            7572
        ],
        "Certificate": {
            "SSLMode": "UNIDIRECTIONAL",
            "CertId": "MsJyaXVm"
        },
        "LoadBalancerId": "lb-cuxw2rm0"
    }

    Output Example

    {
        "Response": {
            "ListenerIds": [
                "lbl-4fbxq45k"
            ],
            "RequestId": "db8ae69f-ebda-402b-8d02-ead459aa6ff9"
        }
    }

    Example2 Creating a TCP Listener and Configuring the Health Check Settings

    This example shows you how to create a TCP listener and configure the health check settings.

    Input Example

    POST / HTTP/1.1
    Host: clb.intl.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateListener
    <Common request parameters>
    
    {
        "HealthCheck": {
            "UnHealthNum": 4,
            "HealthNum": 4,
            "IntervalTime": 7,
            "TimeOut": 5,
            "HealthSwitch": 1
        },
        "Protocol": "TCP",
        "Ports": [
            7571
        ],
        "LoadBalancerId": "lb-cuxw2rm0"
    }

    Output Example

    {
        "Response": {
            "ListenerIds": [
                "lbl-lbbxvq26"
            ],
            "RequestId": "fff13c83-dcb5-481a-ba7c-30e92c276c19"
        }
    }

    Example3 Creating an HTTPS Listener and Binding a New Certificate

    This example shows you how to create an HTTPS listener and bind a new certificate.

    Input Example

    POST / HTTP/1.1
    Host: clb.intl.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateListener
    <Common request parameters>
    
    {
        "Protocol": "HTTPS",
        "Ports": [
            7573
        ],
        "Certificate": {
            "SSLMode": "UNIDIRECTIONAL",
            "CertContent": "-----BEGINCERTIFICATE-----\\nxxxxxxxxxxxxxxxxxxxxxxx\\n-----ENDCERTIFICATE-----",
            "CertName": "my-cert",
            "CertKey": "-----BEGINRSAPRIVATEKEY-----\\nxxxxxxxxxxxxxxxxxxxxxxxx\\n-----ENDRSAPRIVATEKEY-----"
        },
        "LoadBalancerId": "lb-cuxw2rm0"
    }

    Output Example

    {
        "Response": {
            "ListenerIds": [
                "lbl-bzfmg9m6"
            ],
            "RequestId": "6082314c-030c-429d-9eae-2dc6b159b5b9"
        }
    }

    Example4 Creating a UDP Listener with the Default Ping Health Check

    This example shows you how to create a UDP listener with the default Ping health check.

    Input Example

    POST / HTTP/1.1
    Host: clb.intl.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateListener
    <Common request parameters>
    
    {
        "HealthCheck": {
            "HealthSwitch": 1
        },
        "Protocol": "UDP",
        "ListenerNames": [
            "lis_test"
        ],
        "Ports": [
            432
        ],
        "LoadBalancerId": "lb-6wlxe9rj"
    }

    Output Example

    {
        "Response": {
            "ListenerIds": [
                "lbl-aev333n1"
            ],
            "RequestId": "3b81f03e-6088-448d-abaf-8a487d4f985a"
        }
    }

    Example5 Creating Two TCP Listeners (Respectively Named lis0 and lis1) to Respectively Listen on Ports 7569 and 7570

    This example shows you how to create two TCP listeners (respectively named lis0 and lis1) to respectively listen on ports 7569 and 7570.

    Input Example

    POST / HTTP/1.1
    Host: clb.intl.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateListener
    <Common request parameters>
    
    {
        "ListenerNames": [
            "lis1",
            "lis0"
        ],
        "Protocol": "TCP",
        "Ports": [
            7570,
            7569
        ],
        "LoadBalancerId": "lb-cuxw2rm0"
    }

    Output Example

    {
        "Response": {
            "ListenerIds": [
                "lbl-d1ubsydq",
                "lbl-4udz130k"
            ],
            "RequestId": "8f272cef-14ff-458c-b67e-1bd21bd2942b"
        }
    }

    Example6 Creating a Listener and Enabling Rescheduling

    Input Example

    POST / HTTP/1.1
    Host: clb.intl.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateListener
    <Common request parameters>
    
    {
        "LoadBalancerId": "lb-fd9kpk4s",
        "Ports": [
            5689
        ],
        "Protocol": "tcp",
        "RescheduleTargetZeroWeight": true,
        "RescheduleUnhealthy": true,
        "RescheduleExpandTarget": true,
        "RescheduleStartTime": 25,
        "RescheduleInterval": 50
    }

    Output Example

    {
        "Response": {
            "ListenerIds": [
                "lbl-1sf4yxie"
            ],
            "RequestId": "6aa274e5-ff78-4e9e-b13c-30a9e21b107e"
        }
    }

    5. Developer Resources

    SDK

    TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.

    Command Line Interface

    6. Error Code

    The following only lists the error codes related to the API business logic. For other error codes, see Common Error Codes.

    Error Code Description
    FailedOperation Operation failed.
    FailedOperation.ResourceInOperating The specified resource is currently being operated. Please try again later.
    InternalError Internal error.
    InvalidParameter Parameter error.
    InvalidParameter.FormatError Wrong parameter format.
    InvalidParameter.PortCheckFailed Listener port checks failed due to port conflicts or other reasons.
    InvalidParameterValue Incorrect parameter value.
    InvalidParameterValue.Length Wrong parameter length.
    LimitExceeded Quota exceeded.
    MissingParameter Missing parameter.
    ResourceInsufficient Insufficient resources.
    UnauthorizedOperation Unauthorized operation.
    Was this page helpful?
    You can also Contact Sales or Submit a Ticket for help.
    Yes
    No

    Feedback