All Products
Search
Document Center

ENS:CreateLoadBalancerHTTPListener

Last Updated:Mar 27, 2026

Creates an HTTP listener.

Operation description

  • up to 100 times per second per account.

  • up to 10 times per second per user.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

ens:CreateLoadBalancerHTTPListener

create

*All Resource

*

None None

Request parameters

Parameter

Type

Required

Description

Example

LoadBalancerId

string

Yes

The ID of the Edge Load Balancer (ELB) instance.

lb-5s7crik3yo3bp03gqrbp5****

ListenerPort

integer

Yes

The listener port that is used by Edge Load Balancer (ELB) to receive requests and forward the requests to backend servers. Valid values: 1 to 65535.

Note

We recommend that you use port 80 for HTTP.

8080

ListenerForward

string

No

Specifies whether to enable redirection from HTTP to HTTPS. Valid values:

  • on

  • off (default)

off

ForwardPort

integer

No

The listener port that is used to redirect HTTP requests to HTTPS.

0

Description

string

No

The name of the listener. The value must be 1 to 80 characters in length.

Note

The value cannot start with http:// or https://.

Listener description

XForwardedFor

string

No

Specifies whether to use the X-Forwarded-For header to obtain the real IP address of the client. Valid values:

  • on

  • off (default)

off

Scheduler

string

No

The scheduling algorithm. Valid values:

  • wrr (default): Backend servers with higher weights receive more requests than backend servers with lower weights.

  • wlc: Requests are distributed based on the weights and number of connections to backend servers. If two backend servers have the same weight, the backend server that has fewer connections receives more requests.

  • rr: Requests are distributed to backend servers in sequence.

  • sch: consistent hashing based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.

  • qch: consistent hashing based on QUIC connection IDs (CIDs). Requests that contain the same QUIC CID are distributed to the same backend server.

  • iqch: consistent hashing based on three specific bytes of iQUIC CIDs. Requests with the same second, third, and fourth bytes are distributed to the same backend server.

wrr

HealthCheck

string

Yes

Specifies whether to enable the health check feature. Valid values:

  • on

  • off (default)

on

HealthCheckDomain

string

No

The domain name that you want to use for health checks.

Note

This parameter takes effect only if you set HealthCheck to on.

www.aliyundoc.com

HealthCheckURI

string

No

The URI used for health checks. The URI must be 1 to 80 characters in length.

Note
  • A URL must start with a forward slash (/) but cannot contain only forward slashes (/).

  • This parameter takes effect only if the HealthCheck parameter is set to on.

/checkpreload.htm

HealthyThreshold

integer

No

The number of consecutive successful health checks that must occur before an unhealthy and inaccessible backend server is declared healthy and accessible. Valid values: 2 to 10. Default value: 3.

Note

This parameter takes effect only if you set HealthCheck to on.

3

UnhealthyThreshold

integer

No

The number of consecutive failed health checks that must occur before a healthy and accessible backend server is declared unhealthy and inaccessible. Valid values: 2 to 10. Default value: 3.

Note

This parameter takes effect only if you set HealthCheck to on.

3

HealthCheckTimeout

integer

No

The timeout period of a health check response. If a backend server does not respond within the specified timeout period, the server fails the health check.

  • Default value: 5.

  • Valid values: 1 to 300.

  • Unit: seconds.

Note
  • This parameter takes effect only if the HealthCheck parameter is set to on.

  • If the value of HealthCheckTimeout is smaller than the value of HealthCheckInterval, the timeout period specified by HealthCheckTimeout becomes invalid, and the value of HealthCheckInterval is used as the timeout period.

5

HealthCheckConnectPort

integer

No

The backend port that is used for health checks. Valid values: 1 to 65535.

Note

This parameter takes effect only if you set HealthCheck to on.

30040

HealthCheckInterval

integer

No

The interval at which health checks are performed. Valid values: 1 to 50. Default value: 2. Unit: seconds.

Note

This parameter takes effect only if you set HealthCheck to on.

2

HealthCheckHttpCode

string

No

The HTTP status code for a successful health check. Valid values:

  • http_2xx (default)

  • http_3xx

  • http_4xx

  • http_5xx

Note

This parameter takes effect only if you set HealthCheck to on.

http_2xx

IdleTimeout

integer

No

The timeout period for idle connections. Default value: 15. Valid values: 1 to 60. Unit: seconds.

Note

If no request is received within the specified timeout period, ELB closes the connection. When a request is received, ELB creates a new connection.

15

RequestTimeout

integer

No

The timeout period of a request. Default value: 60. Valid values: 1 to 180. Unit: seconds.

Note

If no response is received from the backend server within the specified timeout period, ALB returns an HTTP 504 error code to the client.

60

HealthCheckMethod

string

No

The HTTP request method for health checks. Valid values:

  • head (default)

  • get

Note

This parameter takes effect only if the HealthCheck parameter is set to on.

head

BackendServerPort

integer

No

The port used by the backend server of the ELB instance. Valid values: 1 to 65535.

8080

Response elements

Element

Type

Description

Example

object

Schema of Response

RequestId

string

The ID of the request.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

Examples

Success response

JSON format

{
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E"
}

Error codes

HTTP status code

Error code

Error message

Description

400 ens.interface.error An error occurred while call the API.
400 Invalid%s The specified parameter %s is invalid.
400 Missing%s You must specify the parameter %s.
400 LoadBalancerNotFound The input parameter loadBalancerId that is not found.
400 IncorrectInstanceStatus The current status of the resource does not support this operation. The current operation is not supported. The disk is being reset.
400 ListenerAlreadyExists The listenerPort already exists. Listener already exists
400 NoPermission Permission denied.
400 InvalidParameter.%s The specified field %s invalid. Please check it again.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.