SetLoadBalancerHTTPListenerAttribute
Modifies the configurations of an HTTP listener.
Operation description
Before you begin
You have created a Classic Load Balancer instance. For more information, see CreateLoadBalancer.
You have created an HTTP listener. For more information, see CreateLoadBalancerHTTPListener.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
slb:SetLoadBalancerHTTPListenerAttribute |
update |
*acl
*loadbalancer
|
|
None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| RegionId |
string |
No |
The region ID of the SLB instance. You can obtain the region ID from the Regions and zones list or invoke the DescribeRegions operation. |
cn-hangzhou |
| LoadBalancerId |
string |
Yes |
The ID of the SLB instance. |
lb-bp1qjwo61pqz3ah***** |
| ListenerPort |
integer |
Yes |
The frontend port used by the SLB instance. Valid values: 1 to 65535. |
80 |
| Bandwidth |
integer |
No |
The maximum bandwidth of the listener. Unit: Mbit/s. Valid values:
|
-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 used to handle cookies. Valid values:
When a client accesses the SLB instance for the first time, the SLB instance uses the insert cookie method (by inserting SERVERID into the HTTP/HTTPS response message). The next time the client accesses the SLB instance with this cookie, the SLB instance forwards the request to the previously recorded backend server.
When the SLB instance detects a user-defined cookie, it rewrites the original cookie. The next time the client accesses the SLB instance with the new cookie, the SLB instance forwards the request to the previously recorded backend server. Note
This parameter is required when StickySession is set to on. |
insert |
| CookieTimeout |
integer |
No |
The timeout period of the 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 configured on the server. The cookie must be 1 to 200 characters in length and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), or spaces, and cannot start with a dollar sign ($). Note
This parameter is required when StickySession is set to on and StickySessionType is set to server. |
testCookie |
| HealthCheck |
string |
No |
Specifies whether to enable the health check feature. Valid values:
|
on |
| HealthCheckMethod |
string |
No |
The HTTP method used for health checks. Valid values: head and get. Note
This parameter takes effect only when HealthCheck is set to on. |
get |
| HealthCheckDomain |
string |
No |
The domain name used for health checks. Valid values:
Note
This parameter takes effect only when HealthCheck is set to on. |
172.XX.XX.16 |
| HealthCheckURI |
string |
No |
The URI used for health checks. The URI must be 1 to 80 characters in length and can contain only letters, digits, hyphens (-), forward slashes (/), periods (.), percent signs (%), question marks (?), number signs (#), and ampersands (&). The URI cannot be only a forward slash (/) but must start with a forward slash (/). Note
This parameter takes effect only when HealthCheck is set to on. |
/test/index.html |
| HealthyThreshold |
integer |
No |
The number of consecutive successful health checks that must occur before the health status of a backend server is changed from fail to success. Valid values: 2 to 10. Note
This parameter takes effect only when HealthCheck is set to on. |
4 |
| UnhealthyThreshold |
integer |
No |
The number of consecutive failed health checks that must occur before the health status of a backend server is changed from success to fail. Valid values: 2 to 10. Note
This parameter takes effect only when HealthCheck is set to on. |
4 |
| HealthCheckTimeout |
integer |
No |
The timeout period for a health check response. If a backend Elastic Compute Service (ECS) instance does not send a correct response within the specified timeout period, the health check fails. This parameter takes effect only when HealthCheck is set to on. Valid values: 1 to 300. Unit: seconds. |
3 |
| HealthCheckInterval |
integer |
No |
The interval between two consecutive health checks. Valid values: 1 to 50. Unit: seconds. Note
This parameter takes effect only when HealthCheck is set to on. |
5 |
| HealthCheckConnectPort |
integer |
No |
The port used for health checks. Valid values: 1 to 65535. Note
This parameter takes effect only when HealthCheck is set to on. |
8080 |
| HealthCheckHttpCode |
string |
No |
The HTTP status codes that indicate a successful health check. Separate multiple HTTP status codes with commas (,). Valid values: http_2xx, http_3xx, http_4xx, and http_5xx. Note
This parameter takes effect only when HealthCheck is set to on. |
http_2xx,http_3xx |
| VServerGroup |
string |
No |
Specifies whether a vServer group is used. 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) associated with the listener. Note
This parameter is required when AclStatus is set to on. |
acl-uf60jw****** |
| AclType |
string |
No |
The access control type. Valid values:
If you enable a whitelist but the access control policy group does not contain any IP addresses, the SLB listener forwards all requests.
If you enable a blacklist but the access control policy group does not contain any IP addresses, the SLB listener forwards all requests. Note
This parameter takes effect only when AclStatus is set to on. |
white |
| AclStatus |
string |
No |
Specifies whether to enable access control. Valid values:
|
off |
| IdleTimeout |
integer |
No |
The idle connection timeout period. Valid values: 1 to 60. Unit: seconds. Default value: 15. If no access request is received within the specified timeout period, the SLB instance temporarily breaks the current connection. When a new request arrives, the SLB instance establishes a new connection. |
12 |
| RequestTimeout |
integer |
No |
The request timeout period. Valid values: 1 to 180. Unit: seconds. Default value: 60. If a backend server does not send a response within the specified timeout period, the SLB instance stops waiting and 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 |
| DryRun |
boolean |
No |
Specifies whether to only precheck the request. Valid values:
|
false |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
|||
| RequestId |
string |
The request ID. |
CEF72CEB-54B6-4AE8-B225-F876FF7BA984 |
Examples
Success response
JSON format
{
"RequestId": "CEF72CEB-54B6-4AE8-B225-F876FF7BA984"
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | IpVersionConflict | The ip version of this LoadBalancer and the Acl is conflict. | The IP version of the specified Server Load Balancer instance conflicts with the IP type supported by the ACL. |
| 400 | Operation.NotAllowed | Operation Denied. The HTTP listener does not support this action. | The operation is restricted. This operation is not allowed. |
| 400 | InvalidParameter.IdleTimeout | The specified IdleTimeout exceeds the limit. | The specified IdleTimeout is invalid. Check the parameter constraints and try again after making corrections. |
| 400 | InvalidParameter.RequestTimeout | The specified RequestTimeout exceeds the limit. | The specified RequestTimeout is invalid. Check the parameter constraints and try again. |
| 400 | ListenerForwardNotSupport | X-Forward-For is not supported to a ipv6 instance. | IPv6 SLB instances do not support X-Forwarded-For. |
| 400 | InvalidParameter.RegionNotSupport | The region does not support the parameter: %s. | The specified parameter is not supported in the current region. |
| 400 | OperationFailed.ServerGroupInUse | The VServerGroup or MasterSlaveServerGroup can not be close for this listener. | The operation failed because the current listener does not support disabling the server group. |
| 400 | InvalidParameter.VServerGroupId | The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener. | HTTP or HTTPS listeners do not support primary/secondary server groups. |
| 400 | MissingParam.HealthCheckDomain | The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1. | The HealthCheckDomain parameter is missing. |
| 400 | InvalidParameter.HealthCheckHttpVersion | The param HealthCheckHttpVersion is invalid. | The specified HealthCheckHttpVersion is invalid. Check the parameter constraints and try again after making corrections. |
| 400 | Duplicated.AclEntry | %s. | %s |
| 400 | InvalidParameter.ForwardCode | The specified ForwardCode is invalid. | The specified ForwardCode is invalid. Check the parameter constraints and try again after making corrections. |
| 400 | AclListenerOverLimit | This acl has reached the limit of binding to listeners. | The number of listeners that can be associated with the specified ACL has reached the quota limit. |
| 400 | QuotaLimitExceeds.AclAttachedToListener | The number of Acl bound listeners has reached the quota limit | The number of listeners associated with the ACL has reached the quota limit. |
| 400 | QuotaLimitExceeds.TotalAclEntry | The number of Acl entries has reached the quota limit. | The number of ACL entries has reached the quota limit. |
| 400 | QuotaLimitExceeds.AclListenerOverLimit | This acl has reached the limit of binding to listeners. | The number of listeners that can be associated with the specified ACL has reached the quota limit. |
| 400 | DryRunOperation | Request validation has been passed with DryRun flag set. | Request validation has been passed with DryRun flag set. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.