启用EnableSlashMerge
插件后,Sidecar或网关将在HTTP请求到达业务工作负载前对请求进行预处理,合并路径中相邻的斜杠。如,/a///b
将合并为/a/b
。此插件无需任何配置字段,直接启用即可。
前提条件
已部署入口网关。具体操作,请参见创建入口网关。
已在数据面集群部署httpbin服务。具体操作,请参见部署httpbin应用。
配置示例
验证未开启EnableSlashMerge时的访问
登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
在Kubernetes服务列获取部署的网关的IP地址。 使用浏览器访问
http://{网关ip}/encoding/utf8
,可以看到标题为Unicode Demo的页面。 使用浏览器访问http://{网关ip}/encoding///utf8
,可以看到标题为Not Found的页面。此时由于路径中有冗余的斜杠,导致httpbin服务找不到请求的内容。
验证开启EnableSlashMerge时的访问
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
在插件配置页签中开启本插件
EnableSlashMerge
,插件生效范围选择全局生效。 使用浏览器访问http://{网关ip}/encoding///utf8
,可以看到标题为Unicode Demo的页面。此时插件提前将冗余的斜杠进行了合并,使得httpbin服务可以找到正确的内容。说明若访问结果不符预期,可能是浏览器缓存行为所致,可以清空浏览器缓存或打开新的无痕窗口进行尝试。
文档内容是否对您有帮助?