uri-rewrite

<p class="shortdesc">此插件主要用于根据请求条件动态修改请求到后端的路径。</p> <p class="p"><strong class="ph b">2.0.4版本及以后支持</strong></p> <p class="p">可以实现如下功能:</p> <ol class="ol" id="uri-rewrite__ol_m1k_ftd_fsb"> <li class="li">将访问{bucket}.iobs.paic.com.cn的请求映射到 iobs.paic.com.cn/api/bucket</li> <li class="li">将header/query中的值写入路径中。</li> </ol> <section class="section" id="uri-rewrite__section_lxx_htd_fsb"><h2 class="doc-tairway">插件配置字段说明</h2> <div class="p"> <pre class="pre codeblock" id="uri-rewrite__codeblock_f4t_ntd_fsb"><code>{ "rules": [ //可以配置多个规则,根据check结果选择 { "field_type": "query", //即动态数据来源,可选值:domain/header/cookie/query/method/uri "field": "query1", //适用于header/cookie/query,即从具体哪个字段获取数据,其他可配置空 "regex": "^(.+)%.paic%.com%.cn$", //即匹配数据来源的正则表达式,需要有分组来获取具体动态数据 "uri": "/api/login/#1/#2", //即最终转换的地址,如果存在需要动态替换的请用#1/#2/#3代替(最多支持3个动态),如果不存在动态数据,则不会读取上面的动态数据来源 "check": [ //校验是否使用此替换规则 { "value": "/api/login/success", //校验的值 "field_type": "url", //校验的字段 "operator": "EQUAL" //校验类型,可选值:EQUAL/CONTAIN } ] } ] }</code></pre> </div> </section> <section class="section" id="uri-rewrite__section_mjk_4td_fsb"><h2 class="doc-tairway">插件示例</h2> <ol class="ol" id="uri-rewrite__ol_nnc_qtd_fsb"> <li class="li">根据header中的值,重写请求到后端的地址。<p class="p">插件配置如下:<img class="image" id="uri-rewrite__image_ef3_b5d_fsb" src="https://obs-cn-shanghai.fincloud.pinganyun.com/pacloud/20220910180811-1c3de6a79505.png" width="800"></p><p class="p">请求结果如下:<img class="image" id="uri-rewrite__image_qnn_n5d_fsb" src="https://obs-cn-shanghai.fincloud.pinganyun.com/pacloud/20220910180811-153c8fd29bb6.png"></p></li> <li class="li"><strong class="ph b">根据host重写请求到后端的地址。</strong><p class="p">插件配置如下:<img class="image" id="uri-rewrite__image_dtw_cvd_fsb" src="https://obs-cn-shanghai.fincloud.pinganyun.com/pacloud/20220910180811-116be9879945.png" width="800"></p><p class="p">请求结果如下:<img class="image" id="uri-rewrite__image_tsh_3vd_fsb" src="https://obs-cn-shanghai.fincloud.pinganyun.com/pacloud/20220910180811-10f028c99163.png" width="800"></p></li> </ol> </section>
以上内容是否解决了您的问题?
请补全提交信息!
联系我们

电话咨询

400-151-8800

邮件咨询

fincloud@ocft.com

在线客服

工单支持

解决云产品相关技术问题