Modifies the configurations of an HTTP listener.
Operation description
Prerequisites
- A Classic Load Balancer (CLB) instance is created. For more information, see CreateLoadBalancer .
- An HTTP listener is created. For more information about how to create an HTTP listener, see CreateLoadBalancerHTTPListener .
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.
Operation | Access level | Resource type | Condition key | Associated operation |
---|---|---|---|---|
slb:SetLoadBalancerHTTPListenerAttribute | update |
|
| none |
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
RegionId | string | No | The region ID of the CLB instance. You can query the region ID from the Regions and zones list or by calling the DescribeRegions operation. | cn-hangzhou |
LoadBalancerId | string | Yes | The CLB instance ID. | lb-bp1qjwo61pqz3ah***** |
ListenerPort | integer | Yes | The frontend port that is used by the CLB instance. Valid values: 1 to 65535. | 80 |
Bandwidth | integer | No | The maximum bandwidth of the listener. Unit: Mbit/s. Set the value to
| -1 |
XForwardedFor | string | No | Specifies whether to use the
| on |
Scheduler | string | No | The scheduling algorithm. Valid values:
| wrr |
StickySession | string | No | Specifies whether to enable session persistence. Valid values:
| on |
StickySessionType | string | No | The method that is used to handle a cookie. Valid values:
CLB inserts a cookie (SERVERID) into the first HTTP or HTTPS response packet that is sent to a client. The next request from the client contains this cookie, and the listener distributes the request to the recorded backend server.
When CLB detects a user-defined cookie, CLB overwrites the original cookie with the user-defined cookie. The next request from the client carries the user-defined cookie, and the listener forwards the request to the recorded backend server. Note
This parameter is required when StickySession is set to on.
| insert |
CookieTimeout | integer | No | The timeout period of a cookie. Valid values: 1 to 86400. Unit: seconds. Note
This parameter is required when StickySession is set to on and StickySessionType is set to insert.
| 500 |
Cookie | string | No | The cookie that is configured on the server. The cookie must be 1 to 200 characters in length, and can contain ASCII characters and digits. It cannot contain commas (,), semicolons (;), or spaces. It cannot start with a dollar sign ($). Note
This parameter is required when StickySession is set to on and StickySessionType is set to server.
| B490B5EBF6F3CD402E515D22BCDA**** |
HealthCheck | string | No | Specifies whether to enable the health check feature. Valid values:
| on |
HealthCheckMethod | string | No | The health check method that is used in HTTP health checks. Valid values: head and get. Note
The parameter takes effect only if you set HealthCheck to on.
| get |
HealthCheckDomain | string | No | The domain name that is used for health checks. Valid values:
Note
The parameter takes effect only if you set HealthCheck to on.
| 172.XX.XX.16 |
HealthCheckURI | string | No | The Uniform Resource Identifier (URI) that you want to use for health checks. The URI must be 1 to 80 characters in length, and can contain letters, digits, and the following characters: - / . % ? # & The URI must start with a forward slash (/) but cannot be a single forward slash (/). Note
The parameter takes effect only if you set HealthCheck to on.
| /test/index.html |
HealthyThreshold | integer | No | The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from fail to success. Valid values: 2 to 10. Note
The parameter takes effect only if you set HealthCheck to on.
| 4 |
UnhealthyThreshold | integer | No | The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from success to fail. Valid values: 2 to 10. Note
The parameter takes effect only if you set HealthCheck to on.
| 4 |
HealthCheckTimeout | integer | No | The timeout period of a health check response. If a backend ECS instance does not respond within the specified timeout period, the ECS instance fails the health check. This parameter takes effect only if the HealthCheck parameter is set to on. Valid values: 1 to 300. Unit: seconds. | 3 |
HealthCheckInterval | integer | No | The interval at which health checks are performed. Valid values: 1 to 50. Unit: seconds. Note
The parameter takes effect only if you set HealthCheck to on.
| 5 |
HealthCheckConnectPort | integer | No | The port that is used for health checks. Valid values: 1 to 65535. Note
This parameter takes effect only if you set HealthCheck to on.
| 8080 |
HealthCheckHttpCode | string | No | The HTTP status code for a successful health check. Separate multiple HTTP status codes with commas (,). Valid values: http_2xx, http_3xx, http_4xx, and http_5xx. Note
The parameter takes effect only if you set HealthCheck to on.
| http_2xx,http_3xx |
VServerGroup | string | No | Specifies whether to use a vServer group. Valid values:
| on |
VServerGroupId | string | No | The ID of the vServer group. | rsp-cige6j***** |
XForwardedFor_SLBIP | string | No | Specifies whether to use the
| on |
XForwardedFor_SLBID | string | No | Specifies whether to use the
| on |
XForwardedFor_proto | string | No | Specifies whether to use the
| on |
Gzip | string | No | Specifies whether to enable
| on |
AclId | string | No | The ID of the access control list (ACL) that is associated with the listener. Note
This parameter is required when AclStatus is set to on.
| 123 |
AclType | string | No | The type of the ACL. Valid values:
If you enable a whitelist but do not add an IP address to the ACL, the listener forwards all requests.
If a blacklist is configured for a listener but no IP addresses are added to the blacklist, the listener forwards all requests. Note
This parameter takes effect when the value of AclStatus is set to on.
| white |
AclStatus | string | No | Specifies whether to enable access control. Valid values:
| off |
IdleTimeout | integer | No | The timeout period of an idle connection. Unit: seconds. Valid values: 1 to 60. Default value: 15. If no request is received within the specified timeout period, CLB closes the connection. When a request is received, CLB establishes a new connection. | 12 |
RequestTimeout | integer | No | The timeout period of a request. Unit: seconds. Valid values: 1 to 180. Default value: 60. If no response is received from the backend server within the request timeout period, CLB returns an HTTP 504 error code to the client. | 3 |
Description | string | No | The description of the listener. | test |
XForwardedFor_SLBPORT | string | No | Specifies whether to use the
| off |
XForwardedFor_ClientSrcPort | string | No | Specifies whether to use the
| off |
Response parameters
Examples
Sample success responses
JSON
format
{
"RequestId": "CEF72CEB-54B6-4AE8-B225-F876FF7BA984"
}
Error codes
HTTP status code | Error code | Error message |
---|---|---|
400 | IpVersionConflict | The ip version of this LoadBalancer and the Acl is conflict. |
400 | Operation.NotAllowed | Operation Denied. The HTTP listener does not support this action. |
400 | InvalidParameter.IdleTimeout | The specified IdleTimeout exceeds the limit. |
400 | InvalidParameter.RequestTimeout | The specified RequestTimeout exceeds the limit. |
400 | ListenerForwardNotSupport | X-Forward-For is not supported to a ipv6 instance. |
400 | InvalidParameter.RegionNotSupport | The region does not support the parameter: %s. |
400 | OperationFailed.ServerGroupInUse | The VServerGroup or MasterSlaveServerGroup can not be close for this listener. |
400 | InvalidParameter.VServerGroupId | The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener. |
400 | MissingParam.HealthCheckDomain | The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1. |
400 | InvalidParameter.HealthCheckHttpVersion | The param HealthCheckHttpVersion is invalid. |
400 | QuotaLimitExceeds.AclAttachedToListener | %s. |
400 | QuotaLimitExceeds.TotalAclEntry | %s. |
400 | AclListenerOverLimit | %s. |
400 | Duplicated.AclEntry | %s. |
400 | InvalidParameter.ForwardCode | The specified ForwardCode is invalid. |
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|---|---|
2023-12-14 | The Error code has changed. The request parameters of the API has changed | View Change Details |