1

我已经部署了大使边缘堆栈,并且正在使用主机和映射资源来路由我的流量。我想以这样一种方式实现映射,即如果路径中有任何双斜杠,则使用正则表达式(或任何其他可用方式)从中删除一个斜杠。例如,如果客户要求https://a.test.com//testapi我希望它是https://a.test.com/testapi.

我搜索了大使文件,但找不到任何有用的东西。

谢谢你

4

1 回答 1

1

有用于使者入口的模块资源。

如果存在,模块定义系统范围的配置。该模块可以应用于任何 Kubernetes 服务(大使服务本身是一种常见的选择)。你很可能不需要这个模块。要将模块应用于大使服务,必须将其命名为大使,否则将被忽略。要在同一个命名空间中创建多个大使模块,应将它们放在每个单独的大使服务的注释中。

您应该将其添加到模块的 yaml 文件中:

spec:
...
  config:
...
    merge_slashes: true

如果为 true,Emissary-ingress 将合并相邻的斜线以进行路由匹配和请求过滤。例如,对 //foo///bar 的请求将匹配到前缀为 /foo/bar 的映射。

于 2022-03-01T10:28:29.237 回答