URI 模板重写配置 (proto)
此扩展的限定名称为 envoy.path.rewrite.uri_template.uri_template_rewriter
注意
此扩展旨在对不可信的下游和上游流量都具有鲁棒性。
提示
此扩展扩展并可与以下扩展类别一起使用
此扩展必须使用以下类型 URL 之一进行配置
extensions.path.rewrite.uri_template.v3.UriTemplateRewriteConfig
[extensions.path.rewrite.uri_template.v3.UriTemplateRewriteConfig proto]
指示在转发期间,应重写与模式匹配的路径部分,甚至允许将匹配模式中的变量替换到新路径中,如重写模板中指定的那样。这对于以感知具有可变内容(如标识符)的段的方式重写应用程序路径很有用。路由器过滤器会将原始路径(在重写之前)放入 x-envoy-original-path 标头中。
只能指定 prefix_rewrite、regex_rewrite 或 path_template_rewrite 中的一个。
模板模式匹配类型
*
: 匹配单个路径组件,直到下一个路径分隔符:/**
: 匹配零个或多个路径段。如果存在,必须是最后一个运算符。{name} or {name=*}
: 一个命名的变量,匹配单个路径段,直到下一个路径分隔符:/。{name=videos/*}
一个命名变量,匹配多个路径段。与 videos/* 匹配的路径组件被捕获为命名变量。
{name=**}
: 一个命名变量,匹配零个或多个路径段。
只有命名匹配才能用于执行重写。
使用 path_template_rewrite 的示例
模式
/{one}/{two}
与替换字符串/{two}/{one}
配对,会将/cat/dog
转换为/dog/cat
。模式
/videos/{language=lang/*}/*
与替换字符串/{language}
配对,会将/videos/lang/en/video.m4s
转换为lang/en
。路径模式
/content/{format}/{lang}/{id}/{file}.vtt
与替换字符串/{lang}/{format}/{file}.vtt
配对,会将/content/hls/en-us/12345/en_193913.vtt
转换为/en-us/hls/en_193913.vtt
。
{
"path_template_rewrite": ...
}
- path_template_rewrite
(string, REQUIRED)