配置服务网格路径规范化策略

通过规范化路径,使路径表达成一种更高效、更清晰的标准化形式。本文介绍服务网格ASM的路径规范化策略,以及如何配置路径规范化策略。

背景信息

在服务网格对请求的处理过程中,HTTP请求的路径信息至关重要。例如,您可能使用授权策略来为Kubernetes集群中的工作负载提供安全保护,而在请求路径没有符合规范标准的情况下,请求可能意外地被网格代理拒绝,这可能会导致集群内服务的安全问题。在服务网格ASM中,您可以通过配置路径规范化策略来保证服务网格中HTTP请求的路径始终保持统一规范,根据不同的策略选择,HTTP请求路径会被网格代理进行不同的规范化处理。

操作步骤

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

  2. 网格管理页面,单击目标实例名称,在基本信息页面,找到配置信息下的路径规范化策略,单击右侧的编辑

  3. 在弹出的对话框中,选择特定的路径规范化策略,然后单击确定以保存。ASM的路径规范化策略具体说明如下:

    路径规范化策略

    策略说明

    NONE

    不进行路径规范化。

    BASE

    参照RFC3986标准进行路径规范化。例如,/a/../b会被规范化成/b

    MERGE_SLASHES

    在BASE策略的基础上对相邻的斜杠进行合井。例如,/a//b会被规范化成/a/b

    DECODE_AND_MERGE_SLASHES

    在MERGE_SLASHES策略的基础上,路径上的字符会首先进行UTF-8解码、然后合并相邻斜杠。这意味着%2F%21%5C%5C将被转译为/\字符。例如/a%21/b会被规范化为/a/b