All Products
Search
Document Center

Server Load Balancer:CreateListener

Last Updated:Oct 07, 2023

Creates a TCP listener, a UDP listener, or a listener that uses SSL over TCP in a region.

debugging

You can run this interface directly in OpenAPI Explorer, saving you the trouble of calculating signatures. After running successfully, OpenAPI Explorer can automatically generate SDK code samples.

debugging

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
nlb:CreateListenerWrite
  • Listener
    acs:nlb:{#regionId}:{#accountId}:listener/*
  • ServerGroup
    acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}
  • SecurityPolicy
    acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}
  • LoadBalancer
    acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadbalancerId}
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
ListenerProtocolstringYes

The listener protocol. Valid values: TCP, UDP, and TCPSSL.

TCP
ListenerPortintegerYes

The listener port. Valid values: 0 to 65535.

If you set the value to 0, the listener listens by port range. If you set the value to 0, you must specify StartPort and EndPort.

80
ListenerDescriptionstringNo

The name of the listener.

The name must be 2 to 256 characters in length, and can contain letters, digits, commas (,), periods (.), semicolons (;), forward slashes (/), at signs (@), underscores (_), and hyphens (-).

tcp_80
LoadBalancerIdstringYes

The ID of the Network Load Balancer (NLB) instance.

nlb-83ckzc8d4xlp8o****
ServerGroupIdstringYes

The server group ID.

sgp-ppdpc14gdm3x4o****
IdleTimeoutintegerNo

The timeout period of idle connections. Unit: seconds. Valid values: 1 to 900. Default value: 900.

900
SecurityPolicyIdstringNo

The security policy ID. System security policies and custom security policies are supported.

Valid values: tls_cipher_policy_1_0 (default), tls_cipher_policy_1_1, tls_cipher_policy_1_2, tls_cipher_policy_1_2_strict, and tls_cipher_policy_1_2_strict_with_1_3.

Note This parameter takes effect only for listeners that use SSL over TCP.
tls_cipher_policy_1_0
CertificateIdsarrayNo

The server certificates. This parameter takes effect only for listeners that use SSL over TCP.

Note You can specify only one server certificate.
stringNo

The server certificate. This parameter takes effect only for listeners that use SSL over TCP.

Note You can specify only one server certificate.
12315790212_166f8204689_1714763408_70998****
CaCertificateIdsarrayNo

The certificate authority (CA) certificates. This parameter takes effect only for listeners that use SSL over TCP.

Note You can specify only one CA certificate.
stringNo

The CA certificate. This parameter takes effect only for listeners that use SSL over TCP.

Note You can specify only one CA certificate.
139a00604ad-cn-east-hangzh****
CaEnabledbooleanNo

Specifies whether to enable mutual authentication. Valid values:

  • true
  • false (default)
false
DryRunbooleanNo

Specifies whether to perform only a dry run without performing the actual request. Valid values:

  • true: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the DryRunOperation error code is returned.
  • false(default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.
false
ClientTokenstringNo

The client token that is used to ensure the idempotence of the request.

You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.

Note If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.
123e4567-e89b-12d3-a456-426655440000
RegionIdstringNo

The region ID of the NLB instance.

You can call the DescribeRegions operation to query the most recent region list.

cn-hangzhou
ProxyProtocolEnabledbooleanNo

Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers. Valid values:

  • true
  • false (default)
false
SecSensorEnabledbooleanNo

Specifies whether to enable fine-grained monitoring. Valid values:

  • true
  • false (default)
false
AlpnEnabledbooleanNo

Specifies whether to enable Application-Layer Protocol Negotiation (ALPN). Valid values:

  • true
  • false (default)
false
AlpnPolicystringNo

The ALPN policy.

Valid values:

  • HTTP1Only
  • HTTP2Only
  • HTTP2Preferred
  • HTTP2Optional
ALPN
StartPortintegerNo

The first port in the listener port range. Valid values: 0 to 65535.

Note This parameter is required when ListenerPort is set to 0.
244
EndPortintegerNo

The last port in the listener port range. Valid values: 0 to 65535. The number of the last port must be greater than the number of the first port.

Note This parameter is required when ListenerPort is set to 0.
566
CpsintegerNo

The maximum number of connections that can be created per second on the NLB instance. Valid values: 0 to 1000000. 0 specifies that the number of connections is unlimited.

100
MssintegerNo

The maximum size of a TCP segment. Unit: bytes. Valid values: 0 to 1500. 0 specifies that the maximum segment size remains unchanged.

Note This parameter is supported only by TCP listeners and listeners that use SSL over TCP.
43
Tagobject []No

The tags.

KeystringNo

The key of the tag. You can specify up to 20 tag keys. The tag key cannot be an empty string.

The tag key can be up to 64 characters in length and cannot contain http:// or https://. It cannot start with aliyun or acs:.

KeyTest
ValuestringNo

The tag value. The tag value can be up to 128 characters in length and cannot start with acs: or aliyun. It cannot contain http:// or https://.

You can add up to 20 tags in each call.

Test

Response parameters

ParameterTypeDescriptionExample
object

RpcResponse

RequestIdstring

The request ID.

CEF72CEB-54B6-4AE8-B225-F876FF7BA984
ListenerIdstring

The listener ID.

lsn-bp1bpn0kn908w4nbw****
JobIdstring

The asynchronous task ID.

72dcd26b-f12d-4c27-b3af-18f6aed5****

Examples

Sample success responses

JSONformat

{
  "RequestId": "CEF72CEB-54B6-4AE8-B225-F876FF7BA984",
  "ListenerId": "lsn-bp1bpn0kn908w4nbw****",
  "JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****"
}

Error codes

HTTP status codeError codeError messageDescription
400Conflict.PortThe Port [%s] is conflict.The specific resource is conflict.
400IllegalParam.MssConflictWithUdpAndGeneveThe param of MssConflictWithUdpAndGeneve is illegal.When the Mss value is not null, the listenerProtocol cannot be udp or GENEVE.
400QuotaExceeded.%sThe quota of %s is exceeded, usage %s/%s.-
400SystemBusySystem is busy, please try again later.-
400Mismatch.VpcIdThe VpcId is mismatched for %s and %s.The VpcId is mismatched for %s and %s.
400ResourceNotEnough.%sThe specified resource of %s is not enough.-
400Conflict.LockThe Lock [%s] is conflict.The specific resource is conflict.
400IllegalParam.AnyPortListenerConflictWithNonAnyPortServerGroupThe param of AnyPortListenerConflictWithNonAnyPortServerGroup is illegal.-
400IllegalParam.PreserveClientIpSwitchThe param of PreserveClientIpSwitch is illegal.The parameter PreserveClientIpSwitch is invalid. Please check the input value of the parameter PreserveClientIpSwitch.
403Forbidden.%sAuthentication is failed for %s.-
404ResourceNotFound.VSwitchThe specified resource of vSwitch is not found.The specified vSwitch resource was not found. Please check the input parameters.
404ResourceNotFound.loadBalancerThe specified resource of loadbalancer is not found.The specified load balancer resource was not found. Please check the input parameters.

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2023-09-26The error codes of the API operation change.see changesets
Change itemChange content
Error CodesThe error codes of the API operation change.
    Error Codes 400 change
    Error Codes 403 change
    delete Error Codes: 404
2023-09-12The error codes of the API operation change.see changesets
Change itemChange content
Error CodesThe error codes of the API operation change.
    Error Codes 404 change
    delete Error Codes: 400
    delete Error Codes: 403
2023-09-05The error codes of the API operation change.see changesets
Change itemChange content
Error CodesThe error codes of the API operation change.
    Error Codes 400 change
    delete Error Codes: 403
    Added Error Codes: 404
2023-08-22The error codes of the API operation change.see changesets
Change itemChange content
Error CodesThe error codes of the API operation change.
    Added Error Codes: 400
    Added Error Codes: 403
2023-06-30The internal configurations of the API operation change but you can still call the operation.see changesets
Change itemChange content
The internal configurations of the API operation change but you can still call the operation.
2023-06-29The input parameters of the API operation change.see changesets
Change itemChange content
Input ParametersThe input parameters of the API operation change.
    Added Input Parameters: Tag
2023-03-30The internal configurations of the API operation change but you can still call the operation.see changesets
Change itemChange content
The internal configurations of the API operation change but you can still call the operation.