Creates a listener.
Operation description
CreateListener is an asynchronous operation. After a request ID is returned, the HTTP, HTTPS, or QUIC listener may not be created yet because the system is still processing the creation task in the background. You can call GetListenerAttribute to query the creation status of the HTTP, HTTPS, or QUIC listener:
If the HTTP, HTTPS, or QUIC listener is in the Provisioning state, the listener is being created.
If the HTTP, HTTPS, or QUIC listener is in the Running state, the listener is created.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
alb:CreateListener |
create |
*LoadBalancer
*SecurityPolicy
*ServerGroup
|
|
None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| LoadBalancerId |
string |
Yes |
The Application Load Balancing (ALB) instance ID. |
alb-n5qw04uq8vavfe**** |
| ClientToken |
string |
No |
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 token can contain only ASCII characters. Note
If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may be different for each API request. |
123e4567-e89b-12d3-a456-426655440000 |
| DryRun |
boolean |
No |
Specifies whether to perform only a dry run, without performing the actual request. Valid values:
|
false |
| ListenerProtocol |
string |
Yes |
The listener protocol. Valid values: HTTP, HTTPS, and QUIC. |
HTTP |
| ListenerPort |
integer |
Yes |
The frontend port that is used by the load balancing instance. Valid values: 1 to 65535. |
80 |
| ListenerDescription |
string |
No |
The custom listener name. The name must be 2 to 256 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (_). |
HTTP_80 |
| RequestTimeout |
integer |
No |
The request timeout period. Unit: seconds. Valid values: 1 to 600. Default value: 60. If no response is received from the backend server within the timeout period, load balancing sends an Note
You can submit a quota increase request to increase the request timeout period to a maximum of 3600 seconds. |
60 |
| IdleTimeout |
integer |
No |
The idle connection timeout period. Unit: seconds. Valid values: 1 to 600. Default value: 15. If no access request is received within the timeout period, load balancing temporarily breaks the current connection. When the next request arrives, a new connection is established. Note
You can submit a quota increase request to increase the idle connection timeout period to a maximum of 3600 seconds. |
3 |
| GzipEnabled |
boolean |
No |
Specifies whether to enable
|
true |
| Http2Enabled |
boolean |
No |
Specifies whether to enable
Note
Only HTTPS listeners support this parameter. |
true |
| SecurityPolicyId |
string |
No |
The security policy ID. System security policies and custom security policies are supported. Default value: tls_cipher_policy_1_0 (system security policy). Note
Only HTTPS listeners support this parameter. |
tls_cipher_policy_1_0 |
| CaEnabled |
boolean |
No |
Specifies whether to enable mutual authentication. Valid values:
|
false |
| XForwardedForConfig |
object |
No |
The configuration of the XForward field. |
|
| XForwardedForClientCertClientVerifyAlias |
string |
No |
The custom header name. This parameter takes effect only when XForwardedForClientCertClientVerifyEnabled is set to true. The value must be 1 to 40 characters in length, and can contain lowercase letters a to z, hyphens (-), underscores (_), and digits. Note
Only HTTPS listeners support this parameter. |
test_client-verify-alias_123456 |
| XForwardedForClientCertClientVerifyEnabled |
boolean |
No |
Specifies whether to use the
Note
Only HTTPS listeners support this parameter. |
true |
| XForwardedForClientCertFingerprintAlias |
string |
No |
The custom header name. This parameter takes effect only when XForwardedForClientCertFingerprintEnabled is set to true. The value must be 1 to 40 characters in length, and can contain lowercase letters a to z, hyphens (-), underscores (_), and digits. Note
Only HTTPS listeners support this parameter. |
test_finger-print-alias_123456 |
| XForwardedForClientCertFingerprintEnabled |
boolean |
No |
Specifies whether to use the
Note
Only HTTPS listeners support this parameter. |
true |
| XForwardedForClientCertIssuerDNAlias |
string |
No |
The custom header name. This parameter takes effect only when XForwardedForClientCertIssuerDNEnabled is set to true. The value must be 1 to 40 characters in length, and can contain lowercase letters a to z, hyphens (-), underscores (_), and digits. Note
Only HTTPS listeners support this parameter. |
test_issue-dn-alias_123456 |
| XForwardedForClientCertIssuerDNEnabled |
boolean |
No |
Specifies whether to use the
Note
Only HTTPS listeners support this parameter. |
true |
| XForwardedForClientCertSubjectDNAlias |
string |
No |
The custom header name. This parameter takes effect only when XForwardedForClientCertSubjectDNEnabled is set to true. The value must be 1 to 40 characters in length, and can contain lowercase letters a to z, hyphens (-), underscores (_), and digits. Note
Only HTTPS listeners support this parameter. |
test_subject-dn-alias_123456 |
| XForwardedForClientCertSubjectDNEnabled |
boolean |
No |
Specifies whether to use the
Note
Only HTTPS listeners support this parameter. |
true |
| XForwardedForClientSrcPortEnabled |
boolean |
No |
Specifies whether to use the
Note
HTTP and HTTPS listeners support this parameter. |
true |
| XForwardedForEnabled |
boolean |
No |
Specifies whether to use the
Note
|
true |
| XForwardedForProcessingMode |
string |
No |
The mode for processing the
Note
|
append |
| XForwardedForProtoEnabled |
boolean |
No |
Specifies whether to use the
Note
HTTP, HTTPS, and QUIC listeners support this parameter. |
false |
| XForwardedForSLBIdEnabled |
boolean |
No |
Specifies whether to use the
Note
HTTP, HTTPS, and QUIC listeners support this parameter. |
false |
| XForwardedForSLBPortEnabled |
boolean |
No |
Specifies whether to use the
Note
HTTP, HTTPS, and QUIC listeners support this parameter. |
false |
| XForwardedForClientSourceIpsEnabled |
boolean |
No |
Specifies whether to allow ALB to look up the real client IP address in the X-Forwarded-For header. Valid values:
Note
HTTP and HTTPS listeners support this parameter. |
false |
| XForwardedForClientSourceIpsTrusted |
string |
No |
The trusted proxy IP addresses. Application Load Balancing (ALB) traverses the |
10.1.1.0/24 |
| XForwardedForHostEnabled |
boolean |
No |
Specifies whether to use the
Note
HTTP, HTTPS, and QUIC listeners support this parameter. |
false |
| QuicConfig |
object |
No |
The configuration of the associated QUIC listener. |
|
| QuicListenerId |
string |
No |
The ID of the QUIC listener to be associated. This parameter is valid for HTTPS listeners. This parameter is required when QuicUpgradeEnabled is set to true. Note
The original listener and the associated QUIC listener must belong to the same ALB instance, and the QUIC listener must not have been previously associated. |
lsn-o4u54y73wq7b****** |
| QuicUpgradeEnabled |
boolean |
No |
Specifies whether to enable QUIC upgrade. Valid values:
Note
Only HTTPS listeners support this parameter. |
false |
| Certificates |
array<object> |
No |
The certificate list information. |
|
|
object |
No |
The certificate structure. |
||
| CertificateId |
string |
No |
The default certificate ID. Only one default server certificate is supported. Note
|
103705******* |
| CaCertificates |
array<object> |
No |
The list of CA certificates configured for the listener. Only one CA certificate is supported. |
|
|
object |
No |
The CA certificate structure configured for the listener. |
||
| CertificateId |
string |
No |
The CA certificate ID. Note
This parameter is required when CaEnabled is set to true. |
123157******* |
| DefaultActions |
array<object> |
Yes |
The list of rule actions. |
|
|
array<object> |
Yes |
The list of rule actions. |
||
| ForwardGroupConfig |
object |
Yes |
The configuration of the forwarding action. You can add up to 20 forwarding action configurations. |
|
| ServerGroupTuples |
array<object> |
Yes |
The forwarding destination server group tuples. |
|
|
object |
Yes |
The forwarding destination server group tuples. |
||
| ServerGroupId |
string |
Yes |
The ID of the destination server group to which requests are forwarded. |
sgp-8ilqs4axp6****** |
| Type |
string |
Yes |
The action type. You can add up to 1 action type. Valid values: ForwardGroup: forwards requests to multiple server groups. |
ForwardGroup |
| Tag |
array<object> |
No |
The tags. |
|
|
object |
No |
The tag structure. |
||
| Key |
string |
No |
The tag key. The tag key can be up to 128 characters in length. It cannot start with aliyun or acs: and cannot contain http:// or https://. |
env |
| Value |
string |
No |
The tag value. The tag value can be up to 128 characters in length. It cannot start with aliyun or acs: and cannot contain http:// or https://. |
product |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
The response for creating a listener. |
||
| JobId |
string |
The asynchronous task ID. |
72dcd26b-f12d-4c27-b3af-18f6aed5**** |
| ListenerId |
string |
The listener ID. |
lsn-o4u54y73wq7b****** |
| RequestId |
string |
The request ID. |
CEF72CEB-54B6-4AE8-B225-F876******* |
Examples
Success response
JSON format
{
"JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****",
"ListenerId": "lsn-o4u54y73wq7b******",
"RequestId": "CEF72CEB-54B6-4AE8-B225-F876*******"
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | ResourceAlreadyExist.Listener | The specified resource %s is already exist. | A listener with the same port already exists. |
| 400 | IncorrectStatus.LoadBalancer | The status of %s [%s] is incorrect. | The current status of the instance does not support this operation. |
| 400 | IncorrectBusinessStatus.LoadBalancer | The business status of %s [%s] is incorrect. | The business status of %s [%s] is incorrect. |
| 400 | ResourceQuotaExceeded.LoadBalancerListenersNum | The quota of %s is exceeded for resource %s, usage %s/%s. | The quota of %s is exceeded for resource %s, usage %s/%s. |
| 400 | OperationDenied.CrossLoadBalancerQUICListener | The operation is not allowed because of %s. | The operation is not allowed because of %s. |
| 400 | ResourceAlreadyAssociated.Listener | The specified resource %s is already associated. | The specified resource %s is already associated. |
| 400 | ResourceQuotaExceeded.SecurityPolicyAttachedNum | The quota of %s is exceeded for resource %s, usage %s/%s. | The quota of %s is exceeded for resource %s. Usage: %s/%s. |
| 400 | ResourceQuotaExceeded.ServerGroupAttachedNum | The quota of %s is exceeded for resource %s, usage %s/%s. | The number of associations for the server group has exceeded the quota limit. |
| 400 | ResourceQuotaExceeded.LoadBalancerServersNum | The quota of %s is exceeded for resource %s, usage %s/%s. | The number of backend servers has exceeded the quota limit. |
| 400 | ResourceQuotaExceeded.ServerAddedNum | The quota of %s is exceeded for resource %s, usage %s/%s. | The number of servers added to the server group has exceeded the quota limit. |
| 400 | Mismatch.VpcId | The %s is mismatched for %s and %s. | The %s is mismatched for %s and %s. |
| 400 | OperationDenied.ServerGroupProtocolNotSupport | The operation is not allowed because of ServerGroupProtocolNotSupport. | The operation is not allowed because the server group protocol is not supported. |
| 400 | OperationDenied.GRPCServerGroup | The operation is not allowed because of %s. | The operation is denied because a listener associated with this gRPC server group does not have HTTP/2.0 enabled. |
| 400 | Mismatch.LoadBalancerEditionAndConnectionDrain | The %s and %s are mismatched. | The %s and %s are mismatched. |
| 400 | Mismatch.LoadBalancerEditionAndSlowStartEnable | The %s and %s are mismatched. | The %s and %s are mismatched. |
| 400 | InvalidParameter | Invalid parameter, please check the parameter input. | At least one parameter is invalid. Check your input. |
| 400 | OperationDenied.CACertificateCorrupted | The CA certificate is corrupted. | CA certificate is corrupted |
| 403 | Forbidden.SecurityPolicy | Authentication has failed for SecurityPolicy. | Authentication failed for the SecurityPolicy. |
| 403 | Forbidden.LoadBalancer | Authentication is failed for %s. | Authentication is failed for %s. |
| 403 | Forbidden.Listener | Authentication is failed for %s. | Authentication is failed for %s. |
| 404 | ResourceNotFound.LoadBalancer | The specified resource %s is not found. | The specified resource %s is not found. |
| 404 | ResourceNotFound.ServerGroup | The specified resource %s is not found. | The backend server group does not exist. |
| 404 | ResourceNotFound.SecurityPolicy | The specified resource %s is not found. | The specified resource %s is not found. |
| 404 | ResourceNotFound.Listener | The specified resource %s is not found. | The listener does not exist. |
| 404 | ResourceNotFound.Certificate | The specified resource %s is not found. | The specified resource %s is not found. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.