是否可以在相同的路由映射中使用Ambassador前缀regex和regex_rewrite



我正在尝试使用大使prefix_regexregex_rewrite
我想要这两条路线的前缀:

/my/route/<something>
/api/v1/my/route/<something>

将映射到:/my/route/<something>
这就是我试图使用的:

apiVersion: ambassador/v2
kind: Mapping
prefix_regex: true
prefix: (/api/v1)?/my/route
regex_rewrite:
pattern: "/api/v1/my/route/(.*)"
substitution: "/my/route/\1"

使用regex_rewrite和常规prefix如预期工作
使用prefix_regex和常规rewrite如预期工作
但我一起收到了特使的404。

有什么想法吗?

我正在使用Ambassador 1.7.0版本

通过在前缀末尾添加/.*来解决

prefix: (/api/v1)?/my/route/.*

看起来prefix_regex会在前缀的末尾自动添加$,这意味着我们需要指定映射的完整路径,而不仅仅是前缀。

最新更新