在HttpRoute资源中,使用regexMatch在URLRewrite中捕获组

问题描述 投票:0回答:1

我正在从 nginx 入口控制器迁移到 GKE 中的网关控制器。在我的 Ingress 资源中,我使用

nginx.ingress.kubernetes.io/rewrite-target
注释进行 URL 重写。在重写中,我使用从规则 http 路径输出的正则表达式捕获组。

在 HttpRoute 资源中,我看到了使用 PathPrefix 执行此操作的方法,但我没有看到在重写中使用 regexMatch“输出”(捕获组)的方法。我在重写中只看到这两个选项:

pathPrefixRewrite 
hostRewrite 

有没有办法根据正则表达式捕获的组进行重写?

示例: 重写

/before/(.*)/ending
/after/$1/ending

url-rewriting google-kubernetes-engine kubernetes-gateway-api
1个回答
0
投票

根据此文档,由于限制和已知问题,GKE 网关不支持正则表达式。不过,我认为您可以使用 Nginx 反向代理来使用您共享的注释通过正则表达式处理这种复杂的重写,然后将其指向 GKE 网关作为后端。

© www.soinside.com 2019 - 2024. All rights reserved.