You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们
导航

转发规则

最近更新时间2023.07.04 10:46:01

首次发布时间2022.05.18 20:54:43

监听器按照您设置的转发规则,对不同请求特征的访问流量做出具体调度。ALB 支持基于域名和路径的转发规则。您可以为1个监听器配置多条转发规则。

  • 默认转发规则:创建监听器成功后系统自动生成的转发规则。默认转发规则的域名为-、路径为/,表示 ALB 可以转发客户端任意的域名和路径。请求没有命中自定义转发规则时,会遵循默认转发规则,将请求转发至该监听器的默认服务器组上。

  • 自定义转发规则:除默认转发规则之外,您可根据业务需求自定义的转发规则,指定域名及路径做相应的转发或重定向动作。

创建转发规则

前提条件

说明

  • 除了默认转发规则外,每个实例最多可添加 50 个转发规则。

  • 根据业务需要,您可以选择仅配置域名、仅配置路径或者同时配置域名和路径。

    • 若仅配置域名:URL默认为/,ALB 会转发匹配该域名的任意 URL 的请求。例如,您配置域名为www.test.com, 那么访问www.test.com/lb/ 或 www.test.com/lb/create 的请求都会匹配该条转发规则。
    • 若仅配置URL:域名默认为-,ALB 会转发匹配该 URL 的任意域名的请求。例如,您配置的 URL 为/lb, 那么访问www.test.com/lb 或 www.test.cn/lb 的请求都会匹配该条转发规则。
    • 若同时配置域名和路径:ALB 会转发匹配您配置的域名及 URL 的请求。

操作步骤

  1. 登录应用型负载均衡控制台

  2. 实例管理 页面上,选择待配置的 ALB 实例,在 操作 栏点击 配置监听器

  3. 监听器 页面,选择待配置的监听器,在 操作 栏点击 编辑转发规则

  4. 转发规则 标签页,点击 添加转发规则

  5. 添加转发规则 页面,请您根据业务需求添加转发或重定向规则,同一转发条件只能添加一种转发动作。相关字段说明见下表。配置完成后,点击 确定

字段说明

  1. 添加转发动作为 转发

    字段是否必填说明

    域名

    域名和路径至少填写一项

    • 填写一个域名,若客户端请求的域名与此域名匹配,请求会被转发到相应后端服务器组。

    • ALB 支持配置泛域名和精确域名。

    • 不填时,默认域名为 - ,转发所有域名请求。

    • 完成转发规则创建后,不支持修改域名。

    • 具体规则:

      • 域名只允许包含字母、数字、.-*,至少包含一个.,且不允许以.开头或结尾。

      • 域名长度限制为 1~128 个字符。

      • 精确域名:符合域名规范的精确域名,如:www.test.com

      • 泛域名:

        1. 使用*代替1个或多个字符。

        2. *必须在域名开头或结尾。

        3. 同一条域名*不能出现两次。

        4. *前后不能有除了.以外的字符。

      • 示例:

        1. 合法示例:*.comwww.test.*

        2. 非法示例: *aaa.comwww.*.com

    路径

    • 填写一个路径,若客户端的请求路径与此路径匹配,请求会被转发到相应后端服务器组。

    • 不填时,默认路径为 / ,转发所有路径请求。

    • ALB 支持配置非正则表达式和正则表达式。

    • 完成转发规则创建后,不支持修改路径。

    • 具体规则:

      • 路径长度限制为 1~128 个字符。

      • 非正则表达式:

        1. 必须以正斜线/ 开头。

        2. 仅允许包含字母、数字和-_/.%?#&等字符,且不可包括//

      • 正则表达式:

        1. 必须以~开头,且~只能出现一次。

        2. 支持大小写字母、数字和.-_/?~^*$:()[]+|等字符。

        3. ~开头表示区分大小写的正则匹配,~* 开头表示不区分大小写的正则匹配。

    后端服务器组必填指定将请求转发到的后端服务器组,若请求匹配设定的域名或 URL 时,请求会被转发到此后端服务器组。

    描述

    非必填

    • 对本条转发规则进行描述。

    • 完成转发规则创建后,不支持修改描述。

    • 具体规则:

      • 长度限制为1~255个字符。

      • 必须以字母或中文开头,只能包含中文、字母、数字、英文逗号,、英文点号.、下划线_、空格、等号=、短横线-、中文逗号、中文句号

    限速(白名单可见)非必填除默认转发规则外,当前 ALB 允许您为其他转发规则配置 QPS 限速。该转发规则上的 QPS 超过您设定的限速值后,新建连接请求将被 ALB 丢弃,并会返回给客户端 503 状态码。限速开关默认关闭,点击开启后,您需要输入限速值,输入范围:100~100000。

    说明

    ALB 允许白名单用户为非默认转发规则配置 QPS 限速。 如需体验,请联系客户经理或提交工单

  1. 添加转发动作为 重定向

    注意

    若重定向的目标地址与请求相同可能会造成重定向无效,请谨慎操作。

    字段是否必填说明

    域名

    域名和路径至少填写一项

    • 填写一个域名,若客户端请求的域名与此域名匹配,请求会被转发到相应后端服务器组。

    • ALB 支持配置泛域名和精确域名。

    • 不填时,默认域名为 - ,转发所有域名请求。

    • 完成转发规则创建后,不支持修改域名。

    • 具体规则:

      • 域名只允许包含字母、数字、.-*,至少包含一个.,且不允许以.开头或结尾。

      • 域名长度限制为 1~128 个字符。

      • 精确域名:符合域名规范的精确域名,如:www.test.com

      • 泛域名:

        1. 使用*代替1个或多个字符。

        2. *必须在域名开头或结尾。

        3. 同一条域名*不能出现两次。

        4. *前后不能有除了.以外的字符。

      • 示例:

        1. 合法示例:*.comwww.test.*

        2. 非法示例: *aaa.comwww.*.com

    路径

    • 填写一个路径,若客户端的请求路径与此路径匹配,请求会被转发到相应后端服务器组。

    • 不填时,默认路径为 / ,转发所有路径请求。

    • ALB 支持配置非正则表达式和正则表达式。

    • 完成转发规则创建后,不支持修改路径。

    • 具体规则:

      • 路径长度限制为 1~128 个字符。

      • 非正则表达式:

        1. 必须以正斜线/ 开头。

        2. 仅允许包含字母、数字和-_/.%?#&等字符,且不可包括//

      • 正则表达式:

        1. 必须以~开头,且~只能出现一次。

        2. 支持大小写字母、数字和.-_/?~^*$:()[]+|等字符。

        3. ~开头表示区分大小写的正则匹配,~* 开头表示不区分大小写的正则匹配。

    协议必填选择 HTTPS 协议或 HTTP 协议,若请求匹配设定的域名或路径时,请求会被重定向为 HTTPS 请求或 HTTP 请求。

    域名

    非必填

    • 填写一个域名,若请求匹配设定的域名或路径时,请求会被重定向新域名。

    • 不填时重定向域名与请求域名一致。

    • 具体规则如下:

      • 必须以字母或中文开头。

      • 只允许包含字母、数字、.-,至少包含一个.,且不允许.开头或结尾,域名的每一级开头或结尾不可以是-

      • 长度限制为 1~128 个字符。

      • 符合域名规范的精确域名,如:www.test.com

      • 暂不支持泛域名。

    端口

    非必填

    • 您可填写一个端口,若请求匹配您设定的域名或路径时,请求会被重定向至新端口。

    • 不填时重定向的端口与请求端口一致。

    • 端口输入范围为1~65535。

    URI

    非必填

    • 填写一个路径,若请求匹配您设定的域名或路径时,请求会被重定向至新的 URI。

    • 不填时重定向的 URI 与请求 URI 一致。

    • 具体规则:

      • 必须以正斜线"/"开头。

      • 长度限制为 1~128 个字符。

      • 仅允许包含字母、数字和-_/.%?#&等字符,且不可包括//

    状态码

    必填

    • 填写一个响应状态码,作为重定向动作返回给客户端的响应状态码。

    • 默认状态码为301,表示被请求的资源已永久移动到新位置。ALB 支持状态码301、302、307、308。

    描述

    非必填

    • 对本条转发规则进行描述。

    • 完成转发规则创建后,不支持修改描述。

    • 具体规则:

      • 长度限制为1~255个字符。

      • 必须以字母或中文开头,只能包含中文、字母、数字、英文逗号,、英文点号.、下划线_、空格、等号=、短横线-、中文逗号、中文句号

    限速(白名单可见)非必填除默认转发规则外,当前 ALB 允许您为其他转发规则配置 QPS 限速。该转发规则上的 QPS 超过您设定的限速值后,新建连接请求将被 ALB 丢弃,并会返回给客户端 503 状态码。限速开关默认关闭,点击开启后,您需要输入限速值,输入范围:100~100000。

    说明

    ALB 允许白名单用户为非默认转发规则配置 QPS 限速。 如需体验,请联系客户经理或提交工单

修改转发规则

前提条件

您的业务需要修改转发规则时,请确认该转发规则与哪一实例的监听相关联。

操作步骤

  1. 登录应用型负载均衡控制台

  2. 实例管理 页面上,选择待配置的 ALB 实例,在 操作 栏点击 配置监听器

  3. 监听器 页面,选择待配置的监听器,在 操作 栏点击 编辑转发规则

  4. 转发规则 标签页,选择待修改转发规则,点击右上角编辑按钮。

  5. 编辑默认转发规则 页面,根据实际业务情况修改转发规则,不支持修改域名和路径。确认修改无误后点击 确定

删除转发规则

注意

  • 默认转发规则不可删除。
  • 转发规则删除后不能恢复。请谨慎操作。

前提条件

您的业务需要删除转发规则时,请确认该转发规则与哪一实例的监听相关联。

操作步骤

  1. 登录应用型负载均衡控制台

  2. 实例管理 页面上,选择待配置的 ALB 实例,在 操作 栏点击 配置监听器

  3. 监听器 页面,选择待配置的监听器,在 操作 栏点击 编辑转发规则

  4. 转发规则 标签页,选择待删除的转发规则,点击右上角删除按钮。

  5. 点击 删除 ,完成删除转发规则。

转发规则匹配的优先级说明

转发规则匹配的优先级

ALB 接收到客户端请求时,根据您的配置的转发规则,先进行域名的匹配,再进行路径的匹配。具体的匹配优先级如下:

步骤匹配内容优先级

1

系统将客户端请求的域名与转发规则中您配置的域名进行匹配。

如果客户端请求的域名匹配与转发规则中的多个域名匹配,ALB 选择域名的优先级为:

  • 根据域名的类型,精准域名 > 以通配符*开头的泛域名 > 以通配符*结尾的泛域名。

  • 如果请求的域名匹配到多个通配符*都在开头的泛域名或多个通配符*都在结尾的泛域名,那么ALB 会按照最长匹配原则选择匹配的泛域名。如:alb.volc.test.com 同时满足*.volc.test.com*.test.com,最终会匹配到*.volc.test.com对应的转发规则。

2

系统将客户端请求 URL 与转发规则中您配置的路径进行匹配。

如果客户端请求的 URL 与转发规则中的多个路径匹配,ALB 选择具体路径的优先级为:

  • 正则表达式格式的 URL > 非正则表达式格式的 URL。

  • 如果请求的 URL 匹配到多个正则表达式格式的 URL ,那么 ALB 会按照时间先后选择匹配的 URL,优先匹配配置更早的 URL 。

  • 如果请求的 URL 匹配到多个非正则表达式格式的 URL ,那么 ALB 会按照最长匹配原则从前向后选择匹配的 URL ,优先配置更长的 URL。

匹配后的转发操作

根据域名和路径的匹配情况,ALB 对客户端请求的转发操作具体如下:

客户端请求的域名与转发规则中您配置的域名是否匹配客户端请求的URL与转发规则中您配置的路径是否匹配操作
ALB 按照转发规则将请求转发到对应服务器组上。

ALB 按照转发规则将匹配该域名的任意 URL 请求转发到对应服务器组上。

ALB 按照转发规则将匹配该 URL 的任意域名的请求转发到对应服务器组上。
ALB 按照系统默认转发规则将请求转发到对应服务器组上。

转发规则匹配示例

某个 ALB 实例的监听器上配置了如下四条转发规则:

转发规则创建时间
序号转发规则中配置的域名转发规则中配置的 URL转发动作
1test.com/volc转发至服务器组 A2023.05.01
2test.com/volc/test转发至服务器组 B2023.05.02
3test.com~/test转发至服务器组 C2023.05.03
4test.com~/test/rule1转发至服务器组 D2023.05.04
  • 如果请求为www.test.com/volc/test,那么 ALB 将按照非正则URL的最长匹配原则,将匹配到第2条转发规则将请求转发至服务器组B。
  • 如果请求为www.test.com/test/rule1,按照正则URL先配置的规则优先级更高原则,将匹配到第3条转发规则转发至服务器组C。