操作场景
在很多场景下,为了不将内部接口信息过分暴露或为了保证上下游系统接口的一致性,需要对微服务对外暴露的接口配置新的请求路径,如内部接口写为
/group1/prepub/provider/echo
,我们可以配置重定向接口为 /echo
,这样所有通过对应网关访问 /echo
这个接口的调用都会被指向到后端 /group1/prepub/provider/echo
这个接口上。操作步骤
新建路径重写配置
1. 登录 TSF 控制台。
2. 在左侧导航栏选择微服务网关 > 网关管理,单击目标网关的“ID”,进入网关基本信息页面。
3. 在页面上方选择路径重写配置页签,选择好部署组后,单击新建路径重写配置,填写以下内容:
请求路径:请求路径指的是外部请求访问到网关的路径。填写时要以 / 开头。
匹配顺序:当对一个微服务网关上配置多个路径重写规则的时候,可能会出现多个规则最终落在同一个实际的微服务 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
2. 可以通过路径重写配置为某一个 API 配置路径别名,如:
请求路径填写为:
/tsf/config
原路径填写为:
/qcloudadmin/middleware/tsf/dispatch/config
复制路径重写规则
复制重定向规则支持将某一个网关下的规则快速复制到另一个微服务网关部署组下面。
1. 在路径重写配置规则列表页面,勾选已经配置好的规则,单击列表上方的复制到,在弹窗中选择目标网关的部署组。
2. 单击确定,完成复制。
导入导出路径重写规则
根据模板填写好配置规则后,可直接上传导入控制台,同时也可将控制台中的配置导出到本地。
导入:在路径重写配置规则列表页面,点击左上角的导入,选择提前准备好的配置文件(支持 xlsx、xls、csv 格式。最大允许上传 50 KB),确认后即可上传。
导出:在路径重写配置规则列表页面,在右上角点击下载按钮,可将控制台中的配置导出到本地,导出格式为xlsx。