Throttle connections¶
Use the throttle connections operations to manage throttle configuration.
Show connection throttling configuration¶
GET /v1.0/{account}/loadbalancers/{loadBalancerId}/connectionthrottle
Show connection throttling configuration.
The following table shows the possible response codes for this operation:
Response Code |
Name |
Description |
---|---|---|
200 |
Success |
Request succeeded. |
400 |
Bad Request |
The request is missing one or more elements, or the values of some elements are invalid. |
401 |
Unauthorized |
You are not authorized to complete this operation. This error can occur if the request is submitted with an invalid authentication token. |
404 |
Not Found |
The requested item was not found. |
413 |
Over Limit |
The number of items returned is above the allowed limit. |
422 |
ImmutableEntity |
This fault is returned when a user attempts to modify an item that is not currently in a state that allows modification. For example, load balancers in a status of PENDING_UPDATE,BUILD, or DELETED may not be modified. |
500 |
Load Balancer Fault |
The load balancer has experienced a fault. |
503 |
Service Unavailable |
The service is not available. |
Request¶
The following table shows the URI parameters for the request:
Name |
Type |
Description |
---|---|---|
{account} |
String |
The ID for the tenant or account in a multi- tenancy cloud. |
{loadBalancerId} |
String |
The ID for the load balancer. |
This operation does not accept a request body.
Response¶
Example Show connection throttling configuration: JSON response
{
"connectionThrottle":{
"maxConnections": 100,
"minConnections": 10,
"maxConnectionRate": 50,
"rateInterval": 60
}
}
Example Show connection throttling configuration: XML response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<connectionThrottle xmlns="http://docs.openstack.org/loadbalancers/api/v1.0"
minConnections="10"
maxConnections="100"
maxConnectionRate="50"
rateInterval="60" />
Example Show Atom connection throttling configuration: ATOM/XML response
<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns="http://www.w3.org/2005/Atom">
<link rel="next"
href="https://ord.loadbalancers.api.rackspacecloud.com/v1.0/1234/loadbalancers/141/connectionthrottle.atom?page=2"/>
<title type="text">Connection Throttle Feed</title>
<id>1234-loadbalancers-141-connectionthrottle</id>
<entry>
<title type="text">Error Updating Connection Throttle</title>
<summary type="text">Could not update the connection throttle at this time</summary>
<author>
<name>Rackspace Cloud</name>
</author>
<link href="https://ord.loadbalancers.api.rackspacecloud.com/v1.0/1234/loadbalancers/141/connectionthrottle/"/>
<id>1234-loadbalancers-141-connectionthrottle-2011881846570</id>
<category term="UPDATE"/>
<updated>2011-03-29T18:46:57.000Z</updated>
</entry>
</feed>
Create or update connection throttling configuration¶
PUT /v1.0/{account}/loadbalancers/{loadBalancerId}/connectionthrottle
Creates or updates the throttling configuration.
The connection throttling feature imposes limits on the number of connections per IP address to help mitigate malicious or abusive traffic to your applications. The attributes in the table in the following Request section can be configured based on the traffic patterns for your sites.
Note
You must specify all attributes when initially creating the connection throttle. However, when you update an existing setting, you can pass as few as one attribute.
When connection throttling is active, and the connection limit is exceeded,
the load balancer returns a 503 Server Too Busy
response. You’ll see
something similar to the following example:
Trying <LB IP>...
connected
Connected to <LB IP> (<LB IP>) port 80 (#0)
> GET /pi.php HTTP/1.1
> User-Agent: curl/7.26.0
> Host: <LB IP>
> Accept: /
>
additional stuff not fine transfer.c:1037: 0 0
HTTP 1.0, assume close after body
< HTTP/1.0 503 Server Too Busy
< Content-Length: 25
< Content-Type: text/html
<
<h2>Server Too Busy</h2>
Closing connection #0
The following table shows the possible response codes for this operation:
Response Code |
Name |
Description |
---|---|---|
200 |
Success |
Request succeeded. |
400 |
Bad Request |
The request is missing one or more elements, or the values of some elements are invalid. |
401 |
Unauthorized |
You are not authorized to complete this operation. This error can occur if the request is submitted with an invalid authentication token. |
404 |
Not Found |
The requested item was not found. |
413 |
Over Limit |
The number of items returned is above the allowed limit. |
422 |
ImmutableEntity |
This fault is returned when a user attempts to modify an item that is not currently in a state that allows modification. For example, load balancers in a status of PENDING_UPDATE,BUILD, or DELETED may not be modified. |
500 |
Load Balancer Fault |
The load balancer has experienced a fault. |
503 |
Service Unavailable |
The service is not available. |
Request¶
The following table shows the URI parameters for the request:
Name |
Type |
Description |
---|---|---|
{account} |
String |
The ID for the tenant or account in a multi- tenancy cloud. |
{loadBalancerId} |
String |
The ID for the load balancer. |
The following table shows the body parameters for the request:
Name |
Type |
Description |
---|---|---|
maxConnectionRate |
Int |
Deprecated as of v1.22 and later versions. Parameter can still be set, but it has no effect on the load balancer. |
maxConnections |
Int |
Maximum number of connections to allow for a single IP address. To enable unlimited simultaneous connections, set to 0. Set to a value from 1 to 100000. |
minConnections |
Int |
Deprecated as of v1.22 and later versions. Parameter can still be set, but it has no effect on the load balancer. |
rateInterval |
Int |
Deprecated as of v1.22 and later versions. Parameter can still be set, but it has no effect on the load balancer. |
Example Create or update connection throttling configuration: JSON request
{
"connectionThrottle":{
"maxConnections": 10,
"minConnections": 100,
"maxConnectionRate": 50,
"rateInterval": 60
}
}
Example Create or update connection throttling configuration: XML request
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<connectionThrottle xmlns="http://docs.openstack.org/loadbalancers/api/v1.0"
minConnections="10"
maxConnections="100"
maxConnectionRate="50"
rateInterval="60" />
Response¶
This operation does not return a response body.
Delete connection throttling configuration¶
DELETE /v1.0/{account}/loadbalancers/{loadBalancerId}/connectionthrottle
Deletes the connection throttling configuration.
The connection throttling feature imposes limits on the number of connections per IP address to help mitigate malicious or abusive traffic to your applications. The attributes in the table that follows can be configured based on the traffic patterns for your sites.
The following table shows the possible response codes for this operation:
Response Code |
Name |
Description |
---|---|---|
200 |
Success |
Request succeeded. |
400 |
Bad Request |
The request is missing one or more elements, or the values of some elements are invalid. |
401 |
Unauthorized |
You are not authorized to complete this operation. This error can occur if the request is submitted with an invalid authentication token. |
404 |
Not Found |
The requested item was not found. |
413 |
Over Limit |
The number of items returned is above the allowed limit. |
422 |
ImmutableEntity |
This fault is returned when a user attempts to modify an item that is not currently in a state that allows modification. For example, load balancers in a status of PENDING_UPDATE,BUILD, or DELETED may not be modified. |
500 |
Load Balancer Fault |
The load balancer has experienced a fault. |
503 |
Service Unavailable |
The service is not available. |
Request¶
The following table shows the URI parameters for the request:
Name |
Type |
Description |
---|---|---|
{account} |
String |
The ID for the tenant or account in a multi- tenancy cloud. |
{loadBalancerId} |
String |
The ID for the load balancer. |
This operation does not accept a request body.
Response¶
This operation does not return a response body.