ListRules - 查询转发规则

查询指定地域的转发规则。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

alb:ListRules

get

*LoadBalancer

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

请求参数

名称

类型

必填

描述

示例值

NextToken

string

是否拥有下一次查询的令牌(Token)。取值:

  • 第一次查询和没有下一次查询时,均无需填写。

  • 如果有下一次查询,取值为上一次 API 调用返回的 NextToken 值。

FFmyTO70tTpLG6I3FmYAXGKPd****

MaxResults

integer

本次读取的最大数据记录数。

取值:1~100

默认值:20,表示用户没有传入数据。

说明

此参数为可选。

20

RuleIds

array

转发规则列表,一次最多支持查询 20 个转发规则。

string

转发规则 ID。

rule-sada******

ListenerIds

array

监听 ID 列表。一次最多支持查询 20 个监听。

string

监听 ID。

lsn-i35udpz3pxsmnf****

LoadBalancerIds

array

负载均衡实例 ID 列表。一次最多支持查询 20 个实例。

string

负载均衡实例 ID。

alb-x30o38azsuj0sx****

Direction

string

转发规则的方向。取值:

  • Request(默认值):请求类型,对从客户端发送到 ALB 的报文进行条件匹配并进行相应的处理。

  • Response:响应类型,对从后端服务器组返回到 ALB 的报文进行条件匹配并进行相应的处理。

说明

基础版的 ALB 实例不支持 Response 类型.

Request

Tag

array<object>

标签。

object

标签结构。

Key

string

标签键。最多支持 128 个字符,不能以 aliyun 或 acs:开头,不能包含 http://或 https://。

env

Value

string

标签值。最多支持 128 个字符,不能以 aliyun 或 acs:开头,不能包含 http://或 https://。

product

返回参数

名称

类型

描述

示例值

object

转发规则。

MaxResults

integer

本次请求所返回的最大记录条数。

50

NextToken

string

是否拥有下一次查询的令牌(Token)。取值:

  • 如果 NextToken 为空表示没有下一次查询。

  • 如果 NextToken 有返回值,该取值表示下一次查询开始的令牌。

FFmyTO70tTpLG6I3FmYAXGKPd****

RequestId

string

请求 ID。

CEF72CEB-54B6-4AE8-B225-F876F******

Rules

array<object>

转发规则列表。

object

转发规则结构。

ListenerId

string

转发规则所属监听 ID。

lsn-i35udpz3pxsmnf****

LoadBalancerId

string

转发规则所属负载均衡实例 ID。

alb-x30o38azsuj0sx****

Priority

integer

规则优先级,取值为1~10000。值越小表示优先级越高。

说明

同一个监听内规则优先级必须唯一。

1

RuleActions

array<object>

转发规则动作列表。

object

转发规则动作结构。

FixedResponseConfig

object

固定响应内容配置。

Content

string

返回的固定内容。最大 1 KB 字节,只支持 ASCII 字符。

dssacav

ContentType

string

返回固定内容的格式。

取值:text/plaintext/csstext/htmlapplication/javascriptapplication/json

text/plain

HttpCode

string

返回的 HTTP 响应码,仅支持HTTP_2xxHTTP_4xxHTTP_5xx数字型字符串,x 为任意数字。

HTTP_2xx

ForwardGroupConfig

object

转发组配置。

ServerGroupTuples

array<object>

转发到的目的服务器组列表。

object

转发到的目的服务器组列表。

ServerGroupId

string

转发到的目的服务器组 ID。

sgp-atstuj3rtoptyui****

Weight

integer

权重。取值范围:0~100

2

ServerGroupStickySession

object

服务器组间会话保持配置

Enabled

boolean

当 ServerGroupTuple.N 数量大于 1 时,可选是否开启在服务器组间的会话保持

Timeout

integer

当 Enabled=True 时,可以配置会话保持的超时时间

100

InsertHeaderConfig

object

写入头字段配置。

Key

string

插入的头字段名称,长度为 1~40 个字符,支持大小写字母 a~z、数字、下划线(_)和短划线(-)。头字段名称不能重复用于InsertHeader中。

说明

不允许用户在头字段名称中使用 CookieHost

key

Value

string

插入的头字段内容。

  • ValueType 取值为 SystemDefined 时取值如下:
    • ClientSrcPort:客户端端口。

    • ClientSrcIp:客户端 IP 地址。

    • Protocol:客户端请求的协议(HTTP 或 HTTPS)。

    • SLBId:应用型负载均衡实例 ID。

    • SLBPort:应用型负载均衡实例监听端口。

  • ValueType 取值为 UserDefined 时:您可自定义头字段内容,限制长度为 1~128 个字符,支持通配符星号(*)、半角问号(?)和 ASCII 码值ch >= 32 && ch < 127范围内的可打印字符,开头和结尾不能为空格。

  • ValueType 取值为 ReferenceHeader 时:您可以引用请求头字段中的某一个字段,限制长度限制为 1~128 个字符,支持小写字母 a~z、数字、短划线(-)和下划线(_)。

ClientSrcPort

ValueType

string

头字段内容类型。取值:

  • UserDefined:用户指定。

  • ReferenceHeader:引用用户请求头中的某一个字段。

  • SystemDefined:系统定义。

SystemDefined

Order

integer

转发规则动作执行的顺序,取值为1~50000,按值从小到大执行动作。值不能为空,不能重复。

1

RedirectConfig

object

重定向配置。

Host

string

要跳转的主机地址。取值:

  • ${host}(默认值):取此值时不支持和其他字符拼接使用。

  • 其他取值,字符集和格式限制如下:
    • 主机名长度为 3~128 个字符,支持小写字母 a~z、数字、短划线(-)、半角句号(.)以及通配符星号(*)和半角问号(?)。

    • 主机名至少包含一个半角句号(.),且半角句号(.)不能出现在开头或结尾。

    • 最右侧的域标签只能包含字母和通配符,不能包含数字或短划线(-)。

    • 短划线(-)不能出现在其它域标签的开头或结尾。

    • 通配符星号(*)和半角问号(?)可以出现在域标签的任意位置。

www.example.com

HttpCode

string

跳转方式,取值为 301302303307308

301

Path

string

要跳转的路径。取值:

  • ${path}(默认值):可以引用**${host}${protocol}${port},由${host}${protocol}${port}**组成,每个变量最多出现一次。上述变量可以同时使用,也可以和下面罗列的可取值范围内的字符串拼接使用。

  • 其他取值,字符集和格式限制如下:
    • 长度为 1~128 个字符。

    • 必须以正斜线(/)开头,支持字母、数字和特殊字符$-_.+/&~@:,不支持“%#;!()[]^,” ,同时支持通配符星号(*)和半角问号(?)。

/test

Port

string

要跳转的端口。取值:

  • ${port}(默认值):该取值不支持和其他字符同时使用。

  • 其他取值:1~63335

10

Protocol

string

要跳转的协议。取值:

  • ${protocol}(默认值):取该值时不支持和其他字符拼接使用。

  • HTTPHTTPS

说明

HTTPS 监听仅支持跳转 HTTPS 协议。

HTTP

Query

string

要跳转的查询字符串。长度为 1~128 个字符,支持小写字母和可见字符,不支持 #[]{}\|<>&

quert

RemoveHeaderConfig

object

去除 HTTP 头部配置。

Key

string

去除的头字段名称,长度为 1~40 个字符,支持大小写字母 a~z、数字、下划线(_)和短划线(-)。头字段名称不能重复用于 RemoveHeader 中。

  • 请求方向(Direction 取值为 Request):不允许将头名称设置为以下字段(不区分大小写):slb-idslb-ipx-forwarded-forx-forwarded-protox-forwarded-eipx-forwarded-portx-forwarded-client-srcportconnectionupgradecontent-lengthtransfer-encodingkeep-alivetehostcookieremoteipauthority

  • 响应方向(Direction 取值为 Response):响应方向不允许将头名称设置为以下字段(不区分大小写):connectionupgradecontent-lengthtransfer-encoding

key

RewriteConfig

object

重写配置。

Host

string

要跳转的主机地址。取值:

  • ${host}(默认值):取此值时不支持和其他字符拼接使用。

  • 其他取值,字符集和格式限制如下:
    • 主机名长度为 3~128 个字符,支持小写字母 a~z、数字、短划线(-)、半角句号(.)以及通配符星号(*)和半角问号(?)。

    • 主机名至少包含一个半角句号(.),且半角句号(.)不能出现在开头或结尾。

    • 最右侧的域标签只能包含字母和通配符,不能包含数字或短划线(-)。

    • 短划线(-)不能出现在其它域标签的开头或结尾。

    • 通配符星号(*)和半角问号(?)可以出现在域标签的任意位置。

www.example.com

Path

string

内部跳转的目的路径。长度为 1~128 个字符,以正斜线(/)开头,支持字母、数字、星号(*)、半角问号(?)和$-_.+/&~@:,不支持“%#;!()[]^,”

/tsdf

Query

string

内部跳转的查询字符串。长度为 1~128 个字符,支持小写字母和可见字符,不支持 #[]{}\|<>&

quedsa

TrafficMirrorConfig

object

流量镜像。

TargetType

string

流量镜像的目的,可以是服务器组

ForwardGroupMirror

MirrorGroupConfig

object

流量镜像至服务器组。

ServerGroupTuples

array<object>

流量镜像至服务器组。

object

ServerGroupId

string

服务器组 ID。

sgp-00mkgijak0w4qgz9****

Weight

integer

权重。取值范围:0~100

2

TrafficLimitConfig

object

流量限速。

QPS

integer

每秒请求次数。取值范围:1~100000

4

PerIpQps

integer

单 IP 每秒请求次数。 取值范围:1 ~ 100000

说明

如果同时配置 QPS 参数,PerIpQps 参数的取值必须小于 QPS 参数的取值。

80

Type

string

动作类型。取值:

  • ForwardGroup:转发至多个虚拟服务器组。

  • Redirect:重定向。

  • FixedResponse:返回固定内容。

  • Rewrite:重写。

  • InsertHeader:写入头字段。

  • RemoveHeaderConfig:删除头字段。

  • TrafficLimitConfig:流量限速。

  • TrafficMirrorConfig:流量镜像。

  • CorsConfig:跨域。

ForwardGroup

CorsConfig

object

跨域。

AllowOrigin

array

允许的访问来源。

string

允许访问的来源。支持配置为*或配置为一个或多个 value 值。value 的值不能为*

  • 单个 value 值必须以http://或者https://开头,后面加一个正确的域名或者一级的泛域名(例如,*.test.abc.example.com)。

  • 单个 value 值可以不加端口,也可以指定端口,端口范围:1~65535

http://test.com

AllowMethods

array

选择跨域访问时允许的 HTTP 方法。

string

选择跨域访问时允许的 HTTP 方法。取值:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • OPTIONS

  • PATCH

GET

AllowHeaders

array

允许跨域的 Header 列表。

string

允许跨域的 Header 列表。支持配置为*或配置一个或多个 value 值,多个 value 值用半角逗号(,)隔开。单个 value 值只允许包含大小写字母、数字,以及不在首尾的下划线(_)和短划线(-),最大长度限制为 32 个字符。

test_123

ExposeHeaders

array

允许暴露的 Header 列表。

string

允许跨域的 Header 列表。支持配置为*或配置一个或多个 value 值,多个 value 值用半角逗号(,)隔开。单个 value 值只允许包含大小写字母、数字,以及不在首尾的下划线(_)和短划线(-),最大长度限制为 32 个字符。

test_123

AllowCredentials

string

是否允许携带凭证信息。取值:

  • on:是。

  • off:否。

on

MaxAge

integer

预检请求在浏览器的最大缓存时间,单位:秒。

取值范围:-1~172800

1000

RuleConditions

array<object>

转发规则条件列表。

object

转发规则条件结构。

CookieConfig

object

Cookie 配置。

Values

array<object>

Cookie 值。

object

Cookie 值。

Key

string

Cookie 键。长度为 1~100 个字符,支持小写字母、可见字符、星号(*)和半角问号(?),不支持空格和#[]{}\|<>&

test

Value

string

Cookie 值。长度为 1~128 个字符,支持小写字母、可见字符、星号(*)和半角问号(?),不支持空格和#[]{}\|<>&

test

HeaderConfig

object

头字段配置。

Key

string

头字段键。长度为 1~40 个字符。支持字母 a~z、数字、短划线(-)和下划线(_)。不支持 Cookie 和 Host。

Port

Values

array

头字段值。

string

头字段值。长度为 1~128 个字符。支持 ASCII 码值ch >= 32 && ch < 127范围内可打印字符、小写字母、星号(*)和半角问号(?)。开头和结尾不能为空格。

5006

HostConfig

object

主机配置。

Values

array

主机名。

string

主机名。命名规则:

  • 域名长度为 3~128 个字符,支持小写字母 a~z、数字、短划线(-)、半角句号(.)、星号(*)和半角问号(?)。

  • 域名至少包含一个半角句号(.),且半角句号(.)不能出现在开头或结尾。

  • 最右侧的域标签只能包含字母、星号(*)和半角问号(?),不能包含数字或短划线(-)。

  • 短划线(-)不能出现在其它域标签的开头或结尾。星号(*)和半角问号(?)可以出现在域标签的任意位置。

www.example.com

MethodConfig

object

请求方法配置。

Values

array

请求方法。

string

请求方法。

取值:HEADGETPOSTOPTIONSPUTPATCHDELETE

PUT

PathConfig

object

转发路径配置。

Values

array

转发路径。

string

转发路径。长度为 1~128 个字符,以正斜线(/)开头,支持字母、数字、星号(*)、半角问号(?)和$-_.+/&~@:,不支持“%#;!()[]^,”

/test

QueryStringConfig

object

查询字符串配置。

Values

array<object>

查询字符串。

object

查询字符串。

Key

string

查询字符串键。长度为 1~100 个字符,支持小写字母、可见字符、星号(*)和半角问号(?),不支持空格和#[]{}\|<>&

test

Value

string

查询字符串值。长度为 1~128 个字符,支持小写字母、可见字符、星号(*)和半角问号(?),不支持空格和#[]{}\|<>&

test

SourceIpConfig

object

基于源 IP 业务流量匹配。

Values

array

需要匹配的源 IP 列表。

string

添加一个或多个 IP 地址或者 IP 地址段。

一条转发规则中最多支持添加 5 条源 IP。

192.168.XX.XX/32

ResponseStatusCodeConfig

object

响应状态码配置。

Values

array

响应状态码列表。

string

响应状态码。

200

ResponseHeaderConfig

object

响应 HTTP 头部配置。

Key

string

响应 HTTP 头部键。长度为 1~40 个字符。支持字母 a~z、数字、短划线(-)和下划线(_)。不支持 Cookie 和 Host。

key

Values

array

响应 HTTP 头部值列表。

string

响应 HTTP 头部值。长度为 1~128 个字符。

value

Type

string

转发规则类型。取值:

  • Host:主机。

  • Path:路径。

  • Header:HTTP 头字段。

  • QueryString:查询字符串。

  • Method:请求方法。

  • Cookie:Cookie。

  • SourceIp:源 IP。

Host

RuleId

string

转发规则 ID。

rule-bpn0kn908w4nbw****

RuleName

string

转发规则名称。 长度为 2~128 个英文或中文字符,必须以大小字母或中文开头,可包含数字,半角句号(.),下划线(_)和短划线(-)。

rule-instance-test

RuleStatus

string

转发规则状态。取值:

  • Provisioning:创建中。

  • Configuring:变配中。

  • Available:运行中。

Available

Direction

string

转发规则的方向。取值:

  • Request(默认值):请求类型,对从客户端发送到 ALB 的报文进行条件匹配并进行相应的处理。

  • Response:响应类型,对从后端服务器组返回到 ALB 的报文进行条件匹配并进行相应的处理。

说明

基础版的 ALB 实例不支持 Response 类型。

Request

Tags

array<object>

标签。

object

标签结构。

Key

string

标签键。最多支持 128 个字符,不能以 aliyun 或 acs:开头,不能包含 http://或 https://。

env

Value

string

标签值。最多支持 128 个字符,不能以 aliyun 或 acs:开头,不能包含 http://或 https://。

product

TotalCount

integer

本次请求条件下返回的总数据记录数。

1000

示例

正常返回示例

JSON格式

{
  "MaxResults": 50,
  "NextToken": "FFmyTO70tTpLG6I3FmYAXGKPd****",
  "RequestId": "CEF72CEB-54B6-4AE8-B225-F876F******",
  "Rules": [
    {
      "ListenerId": "lsn-i35udpz3pxsmnf****",
      "LoadBalancerId": "alb-x30o38azsuj0sx****",
      "Priority": 1,
      "RuleActions": [
        {
          "FixedResponseConfig": {
            "Content": "dssacav",
            "ContentType": "text/plain",
            "HttpCode": "HTTP_2xx"
          },
          "ForwardGroupConfig": {
            "ServerGroupTuples": [
              {
                "ServerGroupId": "sgp-atstuj3rtoptyui****",
                "Weight": 2
              }
            ],
            "ServerGroupStickySession": {
              "Enabled": true,
              "Timeout": 100
            }
          },
          "InsertHeaderConfig": {
            "Key": "key",
            "Value": "ClientSrcPort",
            "ValueType": "SystemDefined"
          },
          "Order": 1,
          "RedirectConfig": {
            "Host": "www.example.com",
            "HttpCode": "301",
            "Path": "/test",
            "Port": "10",
            "Protocol": "HTTP",
            "Query": "quert"
          },
          "RemoveHeaderConfig": {
            "Key": "key"
          },
          "RewriteConfig": {
            "Host": "www.example.com",
            "Path": "/tsdf",
            "Query": "quedsa"
          },
          "TrafficMirrorConfig": {
            "TargetType": "ForwardGroupMirror",
            "MirrorGroupConfig": {
              "ServerGroupTuples": [
                {
                  "ServerGroupId": "sgp-00mkgijak0w4qgz9****",
                  "Weight": 2
                }
              ]
            }
          },
          "TrafficLimitConfig": {
            "QPS": 4,
            "PerIpQps": 80
          },
          "Type": "ForwardGroup",
          "CorsConfig": {
            "AllowOrigin": [
              "http://test.com"
            ],
            "AllowMethods": [
              "GET"
            ],
            "AllowHeaders": [
              "test_123"
            ],
            "ExposeHeaders": [
              "test_123"
            ],
            "AllowCredentials": "on",
            "MaxAge": 1000
          }
        }
      ],
      "RuleConditions": [
        {
          "CookieConfig": {
            "Values": [
              {
                "Key": "test",
                "Value": "test"
              }
            ]
          },
          "HeaderConfig": {
            "Key": "Port",
            "Values": [
              "5006"
            ]
          },
          "HostConfig": {
            "Values": [
              "www.example.com"
            ]
          },
          "MethodConfig": {
            "Values": [
              "PUT"
            ]
          },
          "PathConfig": {
            "Values": [
              "/test"
            ]
          },
          "QueryStringConfig": {
            "Values": [
              {
                "Key": "test",
                "Value": "test"
              }
            ]
          },
          "SourceIpConfig": {
            "Values": [
              "192.168.XX.XX/32"
            ]
          },
          "ResponseStatusCodeConfig": {
            "Values": [
              "200"
            ]
          },
          "ResponseHeaderConfig": {
            "Key": "key",
            "Values": [
              "value"
            ]
          },
          "Type": "Host"
        }
      ],
      "RuleId": "rule-bpn0kn908w4nbw****",
      "RuleName": "rule-instance-test",
      "RuleStatus": "Available",
      "Direction": "Request",
      "Tags": [
        {
          "Key": "env",
          "Value": "product"
        }
      ]
    }
  ],
  "TotalCount": 1000
}

错误码

HTTP status code

错误码

错误信息

描述

403 Forbidden.LoadBalancer Authentication is failed for %s. 负载均衡操作鉴权失败。

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情