All Products
Search
Document Center

Server Load Balancer:DescribeRules

Last Updated:Mar 02, 2026

Queries the forwarding rules that are configured for a specified listener.

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

slb:DescribeRules

get

*loadbalancer

acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}

  • slb:tag
  • slb:tag
  • slb:tag
None

Request parameters

Parameter

Type

Required

Description

Example

RegionId

string

Yes

The ID of the region where the SLB instance is deployed.

You can call the DescribeRegions operation to query the most recent region list.

cn-hangzhou

LoadBalancerId

string

Yes

The ID of the SLB instance.

lb-bp1ca0zt07t934****

ListenerProtocol

string

No

The frontend listener protocol that is used by the SLB instance.

Note

This parameter is required when listeners that use different protocols listen on the same port.

http

ListenerPort

integer

Yes

The frontend listener port that is used by the Server Load Balancer (SLB) instance.

Valid values: 1 to 65535.

90

Response elements

Element

Type

Description

Example

object

RequestId

string

The ID of the request.

9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C

Rules

object

Rule

array<object>

The forwarding rules.

object

HealthCheckHttpCode

string

The HTTP status code that indicates a successful health check. Multiple HTTP status codes are separated by commas (,). Default value: http_2xx.

Valid values: http_2xx, http_3xx, http_4xx, and http_5xx.

Note

If you set the HealthCheck parameter to on, this parameter is required.

http_3xx

VServerGroupId

string

The ID of the destination vServer group specified in the forwarding rule.

rsp-6cejjzl****

Domain

string

The requested domain name specified in the forwarding rule.

www.example.com

Cookie

string

The cookie that is configured on the backend server.

The value must be 1 to 200 characters in length, and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), or spaces. It cannot start with a dollar sign ($).

Note

If you set the StickySession parameter to on and the StickySessionType parameter to server, this parameter is required.

23

HealthCheckInterval

integer

The time interval between two consecutive health checks.

Valid values: 1 to 50. Unit: seconds.

Note

If you set the HealthCheck parameter to on, this parameter is required.

5

Url

string

The requested path specified in the forwarding rule.

/cache

HealthCheckURI

string

The URI that is used for health checks.

Note

If you set the HealthCheck parameter to on, this parameter is required.

/example

StickySessionType

string

The method that is used to handle a cookie. Valid values:

  • insert: inserts a cookie into the response. SLB inserts a cookie (SERVERID) into the first HTTP or HTTPS response packet that is sent to a client. The next request from the client will contain this cookie, and the listener will distribute this request to the recorded backend server.

  • server: rewrites a cookie. When SLB detects a user-defined cookie, SLB overwrites the original cookie with the user-defined cookie. The next request from the client contains the user-defined cookie, and the listener distributes the request to the recorded backend server.

Note

If you set the StickySession parameter to on, this parameter is required.

insert

RuleName

string

The name of the forwarding rule. The name must be 1 to 80 characters in length, and can contain only letters, digits, hyphens (-), forward slashes (/), periods (.),and underscores (_).

Note

The name of each forwarding rule must be unique within a listener.

Rule2

RuleId

string

The ID of the forwarding rule.

rule-tybqi6****

HealthCheckConnectPort

integer

The backend port that is used for health checks.

Valid values: 1 to 65535.

Note

If you set the HealthCheck parameter to on, this parameter is required. If this parameter is empty but HealthCheck is set to on, the listener port is used for health checks.

45

Scheduler

string

The scheduling algorithm. Valid values:

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

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

Note

If you set the ListenerSync parameter to off, this parameter is required. If you set the parameter to on, the configuration of the listener is used.

wrr

HealthCheckTimeout

integer

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. Unit: seconds

Valid values: 1 to 300.

Note

When you set the HealthCheck parameter to on, this parameter takes effect.

34

ListenerSync

string

Indicates whether the forwarding rule uses the scheduling algorithm, session persistence, and health check configurations of the listener.

Valid values: on and off.

  • off: does not use the configurations of the listener. You can customize health check and session persistence configurations for the forwarding rule.

  • on: uses the configurations of the listener.

off

HealthyThreshold

integer

Specifies the number of successful health checks that must be consecutively performed before a backend server can be declared healthy (from fail to success).

Valid values: 2 to 10.

Note

If you set the HealthCheck parameter to on, this parameter is required.

5

CookieTimeout

integer

The timeout period of a cookie. Valid values: 1 to 86400. Unit: seconds.

Note

If you set the StickySession parameter to on and the StickySessionType parameter to insert, this parameter is required.

56

HealthCheckDomain

string

The domain name that is used for health checks. Valid values:

  • $_ip: The private IP address of the backend server.

    If you do not set this parameter or set the parameter to $_ip, the SLB instance uses the private IP address of each backend server as the domain name for health checks.

  • domain: The domain name must be 1 to 80 characters in length. The domain name can contain only letters, digits, periods (.),and hyphens (-).

Note

If you set the HealthCheck parameter to on, this parameter is required.

www.example.com

UnhealthyThreshold

integer

Specifies the number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy (from success to fail).

Valid values: 2 to 10

Note

If you set the HealthCheck parameter to on, this parameter is required.

2

StickySession

string

Specifies whether to enable session persistence.

Valid values: on and off.

Note

If you set the ListenerSync parameter to off, this parameter is required. If you set the parameter to on, the configuration of the listener is used.

off

HealthCheck

string

Indicates whether health checks are enabled.

Valid values: on and off.

Note

If you set the ListenerSync parameter to off, this parameter is required. If you set the parameter to on, the configuration of the listener is used.

off

Examples

Success response

JSON format

{
  "RequestId": "9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C",
  "Rules": {
    "Rule": [
      {
        "HealthCheckHttpCode": "http_3xx",
        "VServerGroupId": "rsp-6cejjzl****",
        "Domain": "www.example.com",
        "Cookie": "23",
        "HealthCheckInterval": 5,
        "Url": "/cache",
        "HealthCheckURI": "/example",
        "StickySessionType": "insert",
        "RuleName": "Rule2",
        "RuleId": "rule-tybqi6****",
        "HealthCheckConnectPort": 45,
        "Scheduler": "wrr",
        "HealthCheckTimeout": 34,
        "ListenerSync": "off",
        "HealthyThreshold": 5,
        "CookieTimeout": 56,
        "HealthCheckDomain": "www.example.com",
        "UnhealthyThreshold": 2,
        "StickySession": "off",
        "HealthCheck": "off"
      }
    ]
  }
}

Error codes

HTTP status code

Error code

Error message

Description

400 TooManyListeners More than 1 listener is found, please be more specified.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.