全部产品
Search
文档中心

全球加速:配置域名和路径的转发策略

更新时间:Nov 08, 2023

全球加速的监听支持配置基于域名和路径的转发策略。本文为您介绍转发条件中域名和路径的配置规则,及转发动作中重写和重定向的路径增强配置规则。

转发条件的域名配置规则

域名配置规则支持精准域名、通配符域名和正则表达式域名。关于如何添加转发策略,请参见添加转发策略

域名配置规则

说明

精准匹配及通配符

  • 匹配说明

    • 精准匹配:请求的域名和设定的域名需完全一致。

    • 通配符匹配:请求的域名和设定的域名除通配符外需完全一致。

  • 输入条件

    域名长度限制为3~128个字符,只允许包含大小写英文字母、数字和-.这些特殊字符,支持星号(*)和半角问号(?)作为通配符使用。

  • 示例

    请求的域名:www.example.com

    • 精准匹配:输入www.example.com匹配成功。

    • 通配符匹配:输入*.example.comwww.example.*匹配成功。

正则匹配(不区分大小写)

  • 匹配说明

    请求的域名和设定的域名根据正则表达式匹配。

  • 输入条件

    域名长度限制为3~128个字符,只允许包含大小写英文字母、数字和.-?=~_+/\^*!$&|()[]这些特殊字符。

  • 示例

    请求的域名:www.Example.com

    正则匹配输入^www.example.com$时,域名匹配成功。

转发条件的路径配置规则

路径配置规则支持精准路径、通配符路径和正则表达式路径。关于如何添加转发策略,请参见添加转发策略

路径配置规则

说明

精准匹配及通配符

  • 匹配说明

    • 精准匹配:请求的路径和设定的路径需完全一致。

    • 通配符匹配:请求的路径和设定的路径除通配符外需完全一致。

  • 输入条件

    路径长度限制为1~128个字符,必须以/开头,只允许包含字母、数字和$-_.+/&~@:'这些字符,支持星号*和问号?作为通配符使用。

  • 示例

    请求的路径:/example/text

    • 精准匹配:输入/example/text匹配成功。

    • 通配符:输入/example/*匹配成功。

    说明

    全球加速的路径匹配规则与Nginx不同,全球加速不支持路径最长匹配原则。

    例如,Nginx的常用配置为location /abc,匹配location的方式为最长前缀匹配,全球加速的最长前缀匹配需通过通配符实现。您可以在全球加速上配置/abc/*(精确匹配及通配符)来达到相同的效果。

正则匹配(区分大小写)

  • 匹配说明

    请求的路径和设定的路径根据正则表达式匹配。

  • 输入条件

    只允许包含大小写英文字母、数字和.-_/\=?~^*$:()[]+|"'@这些特殊字符。

  • 示例

    请求的路径:/sys/aaa/HOST

    正则匹配输入^/sys/(.*)/HOST$时,路径匹配成功。

重写和重定向中路径的增强配置规则

转发条件的路径配置正则表达式后,转发动作中的重写和重定向的路径支持正则表达式替换。关于如何添加转发策略,请参见添加转发策略

说明

转发条件的路径正则配置规则,请参见转发条件的路径配置规则

  • 注意事项

    • 转发条件中正则表达式中包含的半角圆括号( )需要与转发动作中重写或重定向路径中$变量的个数保持一致。

    • 转发动作中重写或重定向的路径中需要包含${1}${2}${3}中的一个或多个,且这三个变量不支持使用其他字符代替。

  • 替换原理

    1. 路径匹配:客户端发送请求,并匹配到某一条路径转发策略的正则表达式。

    2. 提取与替换:按照正则表达式的规范提取,将前三个半角圆括号( )提取出来的内容分别保存至${1}${2}${3}中,用于在转发动作的重写或重定向路径中替换。

    3. 拼接:按照转发动作中重写或重定向路径的配置,对其中的${1}${2}${3}进行值的替换,最终拼接成重写或重定向的实际路径。

    编号

    步骤

    示例

    1

    配置转发策略中的转发条件和转发动作。

    • 转发条件路径:/sys/(.*)/(.*)/aaa

    • 转发动作重写或重定向路径:/${1}/${2}

    2

    客户端发送请求,并匹配路径。

    • 客户端发送的请求路径:/sys/ccc/bbb/aaa

    • 匹配到的转发条件路径:/sys/(.*)/(.*)/aaa

    3

    提取与替换

    按照正则表达式规范,转发条件路径中的两个(.*)分别提取到cccbbb,并分别保留至转发动作中重写或重定向路径中的${1}和${2}。

    • ${1}替换为ccc

    • ${2}替换为bbb

    4

    拼接路径

    后端服务器接收到的路径:/ccc/bbb

  • 配置示例

    您可以根据注意事项和替换原理,在控制台上添加转发策略。转发策略配置示例如下:

    示例1:转发动作为重写和转发至

    路径-重写示例png.png

    类别

    说明

    如果(条件全部匹配)

    路径正则匹配(区分大小写)

    • 匹配说明

      请求的路径和设定的路径根据正则表达式匹配。

    • 输入条件

      只允许包含大小写英文字母、数字和.-_/\=?~^*$:()[]+|"'@这些特殊字符。

    • 示例

      请求的路径:/sys/ccc/bbb/aaa

      正则匹配输入/sys/(.*)/(.*)/aaa时,路径匹配成功。

    那么转发动作是

    重写

    • 域名${host}

    • 路径/${1}/${2}

    • 查询${query}

    转发至

    在列表中选择目标虚拟终端节点组。

    示例2:转发动作为重定向

    路径-重定向示例 .png

    类别

    说明

    如果(条件全部匹配)

    路径正则匹配(区分大小写)

    • 匹配说明

      请求的路径和设定的路径根据正则表达式匹配。

    • 输入条件

      只允许包含大小写英文字母、数字和.-_/\=?~^*$:()[]+|"'@这些特殊字符。

    • 示例

      请求的路径:/sys/ccc/bbb/aaa

      正则匹配输入/sys/(.*)/(.*)/aaa,路径匹配成功。

    那么转发动作是

    重定向

    • 协议$protocol

    • 域名${host}

    • 端口${port}

    • 路径/${1}/${2}

    • 查询${query}

    • 状态码301