istio:VirtualService 重写为根 url

2024-01-04

我有一个 Istio 1.4.6 VirtualService,其匹配项和 url 重写定义如下:

    match:
    - authority:
        prefix: example.com
      uri:
        prefix: /foo/bar
    rewrite:
      uri: /
    route:
    - destination:
        host: some-service
        port:
          number: 80

我想重写如下:

流量定向至/foo/bar或者它的任何子路径应该重写为/加上任何子路径some-service.

i.e.
example.com/foo/bar -> some-service
example.com/foo/bar/subpath -> some-service/subpath
example.com/foo/bar/subpath/anothersubpath -> some-service/subpath/anothersubpath

但是,当我 sysdig 流量进入some-service,我看到 Istio 已将路径重写为:

GET //subpath/anothersubpath HTTP/1.1

请注意 GET 请求中的两个斜杠。在 VirtualService 规范中rewrite.uri字段,我似乎无法将该字段留空或在那里添加空字符串。这样做会导致资源无法验证。

IE。我不能做到这一点:

    rewrite:
      uri: ""

并且不能这样做

    rewrite:
      uri:

如何定义 VirtualService 重写以将流量发送到目标服务的根?任何帮助深表感谢。


另一种方法是:

    - match:
        - uri:
            prefix: "/v2/my-service/"
        - uri:
            exact: "/v2/my-service"
      rewrite:
        uri: "/"
      route:
        - destination:
            host: my-internal-service
            port:
              number: 6666
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

istio:VirtualService 重写为根 url 的相关文章

随机推荐

  • 有效绘制字节数组流以在 Android 中显示的选项

    简单来说 我需要做的就是在Android中显示视频帧的实时流 每帧都是YUV420格式 我有一个回调函数 我在其中接收单个帧作为字节数组 看起来像这样的东西 public void onFrameReceived byte frame in
  • 最佳实践 - 发送 javamail mime 多部分电子邮件 - 和 gmail

    我有一个 Tomcat 应用程序需要发送确认电子邮件等 我已经使用 Javamail mail jar 对电子邮件程序进行了编码以发送多部分文本 html 电子邮件 我的代码基于 Java EE 示例 我在本地服务器上使用 SMTP MTA
  • xamarin应用程序启动缓慢

    我们正在 PCL 上开发一个跨平台应用程序 但目前我们仅使用 Android 设备进行测试 我们担心的是 启动应用程序需要大约 6 到 8 秒 取决于我们测试的设备 这非常慢 设置几个断点后 我们发现时间消耗得相当均匀 我们确实注意到这个特
  • 模态图像库 - 多张图像

    我目前正在尝试根据此处的代码制作一个图片库 http www w3schools com howto howto css modal images asp http www w3schools com howto howto css mod
  • 限制 jQuery UI 中的可拖动区域

    我正在尝试在 div 内创建一个可拖动区域 它工作正常 但我不想要可拖动区域之外的空白区域 因此想要限制可以拖动的区域 到目前为止我想到的是在这个小提琴里 http jsfiddle net kBVFC 图像最初位于父 div 的左上角 如
  • 是否可以?匹配完全相同数量的左大括号和右大括号

    我不是正则表达式专家 我正在尝试创建一个正则表达式来匹配完全相同数量的左大括号和右大括号 但我不知道如何做到这一点 一个例子 nothing important a b c a another nothing or one two erro
  • 如何模板重载一组相关类的运算符而不与标准库运算符冲突?

    这似乎是一个相当简单的想法 我有一组类 我应该能够使用基本上完全相同的代码为其编写一个运算符 比如说减法 当尝试以 明显 的方式做到这一点时 即 template
  • 在Qt中获取MAC ID

    我正在使用以下代码来获取 Qt 中的 MAC ID main cpp include
  • AppBarLayout + TabLayout + CollapsingToolbarLayout + SwipeToRefresh

    我遇到了很多与我的问题相关的问题 但我发现没有人想要我正在寻找的行为 我想要一个带有选项卡和应用程序栏的视图寻呼机 当包含的片段可滚动并滚动 向底部 时 我希望应用程序栏消失 但保留选项卡 当向顶部滚动时重新出现 其中一些片段包含 Swip
  • iOS safari 移动浏览器的 navigator.getUserMedia 替代 API?

    我知道下面的代码将从 ios 6 safari 移动浏览器捕获图像
  • 使用 div 作为提交按钮

    我想在提交按钮中转换由图像 文本 用于翻译 组成的div 是否可以 我设法使用图像作为提交 但文本不是链接 它给整个图像 文本带来了 破碎 的感觉 div div
  • NSJSONSerialization 和 Unicode 不能很好地结合在一起

    我正在制作一个使用套接字和 JSON 与 Nodejs 服务器通信的应用程序 由于 iOS 5 有自己的 NSJSONSerialization 我认为这可能是我要遵循的道路 之前我使用的是轻量级的yail库 无论如何 在迁移到 NSJSO
  • 如何在 sbt shell 中设置子项目的设置(不使用项目命令)?

    在 sbt shell 中如何设置子项目 我知道我可以project subproject then set key value 但我不想一直切换项目 理想情况下 与以下内容没有太大不同 set key in subproject valu
  • 淘汰ViewModel基类,Javascript继承

    我最近在很多项目中使用了 Knockout js 并且编写了很多重复的代码 我希望能够定义一个BaseViewModel类并让我的特定于页面的 ViewModel 继承它 我对 Javascript 如何做到这一点有点困惑 这是我的基本Ba
  • 在用户睡觉时处理我的 BLE 监控应用程序上的 Android-Doze 模式

    我制作了一个在睡眠时间监控人的健康状况的设备 它通过 BLE 连接到智能手机 它与 iOS 应用程序配合得很好 但自从 Android 世界出现 Doze 模式以来 这真的很难处理 因为我的设备在他的睡眠时间工作 主要功能是它可以检测特定的
  • 如何在 Rails 中建模“喜欢”?

    我有 3 个模型 用户 对象 喜欢 目前 我有这样的模型 一个用户有很多对象 我该如何进行建模 1 一个用户可以喜欢很多对象 2 一个对象可以有很多喜欢 来自不同的用户 所以我希望能够做这样的事情 User likes 用户喜欢的对象列表
  • 将 jar 添加到 maven exec:java classpath

    我有一个批处理文件 它使用依赖于tools jar 来自JDK 的maven 运行java 类 例如 mvn f pom xml e exec java Dfile encoding UTF 8 Dexec mainClass MyClas
  • 按元素过滤 XML [重复]

    这个问题在这里已经有答案了
  • omp 的行为对嵌套并行级别至关重要

    考虑以下场景 函数A创建一层OMP并行区域 每个OMP线程调用函数B 函数B本身包含另一层OMP并行区域 那么 如果在函数 B 的并行区域内 存在一个 OMP 临界区域 那么 该区域对于函数 A 和 B 创建的所有线程来说是 全局 临界的
  • istio:VirtualService 重写为根 url

    我有一个 Istio 1 4 6 VirtualService 其匹配项和 url 重写定义如下 match authority prefix example com uri prefix foo bar rewrite uri route