All Products
Search
Document Center

ENS:CreateLoadBalancerHTTPListener

Last Updated:Dec 25, 2024

Creates an HTTP listener.

Operation description

  • You can call this operation up to 100 times per second per account.
  • You can call this operation up to 10 times per second per user.

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.

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
ens:CreateLoadBalancerHTTPListenercreate
*All Resources
*
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
LoadBalancerIdstringYes

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

lb-5s7crik3yo3bp03gqrbp5****
ListenerPortintegerYes

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
ListenerForwardstringNo

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

  • on
  • off (default)
off
ForwardPortintegerNo

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

0
DescriptionstringNo

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

Note The value cannot start with http:// or https://.
Monitoring instructions
XForwardedForstringNo

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

  • on
  • off (default)
off
SchedulerstringNo

The routing algorithm. Valid values:

  • wrr: Backend servers with higher weights receive more requests than backend servers with lower weights. This is the default value.
  • wlc: Requests are distributed based on the weight and load of each backend server. The load refers to the number of connections on a backend server. 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 that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.
  • qch: consistent hashing that is based on QUIC connection IDs. Requests that contain the same QUIC connection ID are distributed to the same backend server.
  • iqch: consistent hashing that is based on specific three bytes of the iQUIC CIDs. Requests whose second to fourth bytes are the same are distributed to the same backend server.
wrr
HealthCheckstringYes

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

  • on
  • off (default)
on
HealthCheckDomainstringNo

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
HealthCheckURIstringNo

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
HealthyThresholdintegerNo

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
UnhealthyThresholdintegerNo

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
HealthCheckTimeoutintegerNo

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
HealthCheckConnectPortintegerNo

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
HealthCheckIntervalintegerNo

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
HealthCheckHttpCodestringNo

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
IdleTimeoutintegerNo

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
RequestTimeoutintegerNo

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
HealthCheckMethodstringNo

The health check method used in HTTP health checks. Valid values:

  • head (default)
  • get
Note This parameter takes effect only if you set HealthCheck to on.
head

Response parameters

ParameterTypeDescriptionExample
object

Schema of Response

RequestIdstring

The ID of the request.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

Examples

Sample success responses

JSONformat

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

Error codes

HTTP status codeError codeError messageDescription
400ens.interface.errorAn error occurred while call the API.-
400Invalid%sThe specified parameter %s is invalid.-
400Missing%sYou must specify the parameter %s.-
400LoadBalancerNotFoundThe input parameter loadBalancerId that is not found.The load balancing instance does not exist.
400IncorrectInstanceStatusThe current status of the resource does not support this operation.The current operation is not supported. The disk is being reset.
400ListenerAlreadyExistsThe listenerPort already exists.Listener already exists
400NoPermissionPermission denied.-
400InvalidParameter.%sThe specified field %s invalid. Please check it again.-

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

Change history

Change timeSummary of changesOperation
2024-08-08The Error code has changed. The request parameters of the API has changedView Change Details