通过规范化路径,使路径表达成一种更高效、更清晰的标准化形式。本文介绍服务网格ASM的路径规范化策略,以及如何配置路径规范化策略。
背景信息
在服务网格对请求的处理过程中,HTTP请求的路径信息至关重要。例如,您可能使用授权策略来为Kubernetes集群中的工作负载提供安全保护,而在请求路径没有符合规范标准的情况下,请求可能意外地被网格代理拒绝,这可能会导致集群内服务的安全问题。在服务网格ASM中,您可以通过配置路径规范化策略来保证服务网格中HTTP请求的路径始终保持统一规范,根据不同的策略选择,HTTP请求路径会被网格代理进行不同的规范化处理。
操作步骤
登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,在基本信息页面,找到配置信息下的路径规范化策略,单击右侧的编辑。
在弹出的对话框中,选择特定的路径规范化策略,然后单击确定以保存。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
。