重定向配置请求路径

最近更新时间: 2024-09-05 15:09:00

操作场景

在很多场景下,为了不将内部接口信息过分暴露或为了保证上下游系统接口的一致性,需要对微服务对外暴露的接口配置新的重定向路径,如内部接口写为 /group1/prepub/provider/echo,我们可以配置重定向接口为 /echo,这样所有通过对应网关访问 /echo 这个接口的调用都会被指向到后端 /group1/prepub/provider/echo 这个接口上。

操作步骤

新建重定向配置

  1. 登录 【TSF 控制台】。

  2. 在左侧导航栏找到组件中心,单击【微服务网关】>【网关管理】>【重定向配置】。

  3. 在重定向配置页面,在上方选择需要配置重定向路径的网关部署组。

  4. 单击【新建重定向路径】,填写以下内容:

  • 请求路径:请求路径指的是外部请求访问到网关的路径。填写时要以 / 开头。

  • 原路径:指的是微服务实际对外暴露的路径,微服务开发者代码中定义的路径。

  • 匹配顺序:当对一个微服务网关上配置多个重定向规则的时候,可能会出现多个规则最终落在同一个实际的微服务API上的情况,此时可以通过匹配顺序指定规则之间的前后匹配顺序。匹配顺序值为1-2000之间正整数,1为最高优先级。匹配顺序允许相同,匹配顺序相同时按照规则创建时间顺序匹配。

  • 类别:在用户填写原路径配置时,可以通过类别筛选重定向规则匹配一个具体的API还是多个通配API。

  • 屏蔽原路径:屏蔽原有路径的访问,屏蔽后,微服务API只能通过配置后的请求路径访问。

说明

  1. 配置重定向规则前,请先确认原路径 API 所在的分组已经与页面上方选中的微服务网关部署组绑定。

  2. 路径匹配规则支持正则表达式,详情如下:

正则表达式 说明
. 匹配除换行符以外的任意字符
? 重复0次或1次
+ 重复1次或更多次
* 重复0次或更多次
\d 匹配数字
^ 匹配字符串的开始
$ 匹配字符串的介绍
{n} 重复 n 次
{n,} 重复 n 次或更多次
[c] 匹配单个字符 c
[a-z] 匹配 a - z 小写字母的任意一个

注意:

小括号()之间匹配的内容,可以在后面通过$1来引用,$2表示的是前面第二个()里的内容。

使用场景举例

  1. 当前 TSF 微服务网关提供的默认对外访问路径为 域名/分组名/命名空间/微服务名称/API路径,可以通过重定向配置支持将较长的路径映射为短路径:
  • 请求路径填写为:/provider/(.*)

  • 原路径填写为:/groupone/defaultnamespace/provider/$1

此时,通过网关直接请求/provider/echo等请求会直接被转发到 /groupone/defaultnamespace/provider/echo

  1. 可以通过重定向配置为某一个 API 配置路径别名,如:
  • 请求路径填写为:/tsf/config

  • 原路径填写为:/qcloudadmin/middleware/tsf/dispatch/config

复制重定向规则

复制重定向规则支持将某一个网关的下的规则快速复制到另一个微服务网关部署组下面。

操作步骤:

  1. 登录 【TSF 控制台】。

  2. 在左侧导航栏找到组件中心,单击【微服务网关】>【网关管理】>【重定向配置】。

  3. 勾选已经配置好的规则,单击列表上方的【复制到】,在弹窗中选择目标网关的部署组。

  4. 单击【确定】,完成复制。