higress在做ingress转envoy配置,怎么做到路径长短顺序生效的?

higress在做ingress转envoy配置,怎么做到路径长短顺序生效的?比如x.com/x(prefix) -> 服务A, x.com/x1(prefix) -> 服务B,请求x.com/x12总会请求到服务B

展开
收起
三分钟热度的鱼 2024-03-13 20:06:29 84 分享 版权
2 条回答
写回答
取消 提交回答
  • 阿里云大降价~

    在使用Higress进行Ingress规则转换至Envoy配置时,要实现路径长短顺序生效,您需要注意以下几点:

    1. 规则顺序:确保在定义Ingress规则时,更具体的路径(如 x.com/x1)应该出现在更通用的路径(如 x.com/x)之前。Envoy会按照规则列表的顺序来匹配请求,一旦找到匹配的规则,就会停止搜索。因此,更具体的规则需要先定义。
    2. 精确匹配:使用精确匹配(exact path)而不是前缀匹配(prefix path),以确保只有完全匹配的路径才会被转发到相应的服务。
    3. 优先级设置:如果使用的是Nginx Ingress或其他支持优先级设置的Ingress控制器,可以通过注解或特定配置来调整规则的优先级。
    4. 测试验证:在完成配置后,进行充分的测试以验证路径是否按照预期的顺序和规则进行匹配。
    5. 利用Gateway API:由于Gateway API提供了比Ingress更强大的路由能力,您可以考虑使用它来定义更复杂的路由规则,这样可能会更容易实现您的需求。
    6. 查阅文档:参考Higress的官方文档或社区指南,了解如何正确地配置Ingress规则以及如何将其转换为Envoy的配置。
    7. 社区支持:如果遇到问题,可以寻求Higress社区的支持,他们可能有现成的解决方案或最佳实践。

    总的来说,通过上述步骤,您应该能够实现在Higress中将Ingress规则转换为Envoy配置,并确保路径按长短顺序正确生效。

    2024-03-15 17:20:58
    赞同 展开评论
  • 用正则,这个也是ingress prefix规范限制的。此回答整理自钉群“Higress 社区交流 2 群”

    2024-03-13 20:31:56
    赞同 展开评论
问答地址: