Kubernetes Istio HTTPRedirect捕获组支持
注意:我感觉这在Istio中不受支持,但我很好奇,除了NGINX之外,是否还有其他反向代理支持此功能? 我正在尝试重定向来自正则表达式的请求:Kubernetes Istio HTTPRedirect捕获组支持,kubernetes,kubernetes-ingress,istio,envoyproxy,ambassador,Kubernetes,Kubernetes Ingress,Istio,Envoyproxy,Ambassador,注意:我感觉这在Istio中不受支持,但我很好奇,除了NGINX之外,是否还有其他反向代理支持此功能? 我正在尝试重定向来自正则表达式的请求:/abc/(?) 我有一个简单的工作示例,它将regex/abc/*重定向到静态地址/cba/ http: - match: - uri: regex: /abc/.*? ignoreUriCase: true rewrite: uri: /cba/ - match: - uri: prefi
/abc/(?)
我有一个简单的工作示例,它将regex/abc/*
重定向到静态地址/cba/
http:
- match:
- uri:
regex: /abc/.*?
ignoreUriCase: true
rewrite:
uri: /cba/
- match:
- uri:
prefix: /
route:
- destination:
host: service_name
在URI正则表达式中添加捕获组:/abc/(?。+)?
会导致以下错误,尽管正则表达式语法正确
type.googleapis.com/em特使.api.v2.RouteConfiguration的gRPC配置被拒绝:无效的正则表达式“/abc/(?.+)?”:其中一个*?+{前面没有有效的正则表达式。
是否有我遗漏的东西,或是找到解决这个问题的方法的指针
另请注意:for HTTPRewrite声明uri字段必须是字符串,这也让我担心此功能不受支持
我试着翻阅了特使的文档,似乎是因为他们不支持它?除了NGINX之外,有没有其他方法可以从任何反向代理中的正则表达式中提取字段?尝试使用HA代理。它更灵活。config.config。它看起来像。如果您在hTTPMatchRequest中使用头,则键uri、scheme、method和尽管从/abc重写/重定向,权限仍将被忽略
/(?。也许解决方案是提供更多重写部分,如:match:uri:/abc/seach以重写:uri:/cba/search等。在一个virtualservice中?@Hanx我只是不确定这在Environment中是否受支持。您发送的PR以结尾,这可能值得在Environment的GitHub问题中讨论。
现在,我只想使用NGINX位于Istio之上,将入口网关更改为从NGINX入口转发到的群集IP(处理所有凌乱的正则表达式重写)尝试使用HA代理。它更灵活。config.config。它看起来像。如果您在hTTPMatchRequest中使用头,则尽管从/abc重写/重定向,密钥uri、方案、方法和权限将被忽略/(?。也许解决方案是提供更多重写部分,如:match:uri:/abc/seach以重写:uri:/cba/search等。在一个virtualservice中?@Hanx我只是不确定这在Environment中是否受支持。您发送的PR以结尾,这可能值得在Environment的GitHub问题中讨论。
现在,我只想使用NGINX位于Istio之上,将入口网关更改为从NGINX入口转发到的群集IP(处理所有凌乱的正则表达式重写)