You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为YARP路径配置定义特定匹配模式?

YARP路径匹配配置方案

针对你需要匹配的路径/Contact/Images/Image.ashx?h=28&id=69865t65-888t-w987-tg7l-j88yt6541uj&w=100&54464454,可以根据需求选择以下两种配置方式:

1. 匹配所有路径为/Contact/Images/Image.ashx的请求(忽略查询参数)

这种配置会路由所有路径为/Contact/Images/Image.ashx的请求,无论后续带什么查询参数。修改后的完整配置如下:

"ReverseProxy": {
   "Routes": {
      "route1": {
         "ClusterId": "cluster1",
         "Match": {
               "Path": "/Contact/Images/Image.ashx"
           }
        }
     },
     "Clusters": {
        "cluster1": {
           "LoadBalancingPolicy": "RoundRobin",
           "Destinations": {
              "cluster1/destination1": {
                 "Address": "https://www.example.com"
              }
           }
        }
     }
  }

2. 匹配路径+指定查询参数的请求

如果需要严格匹配包含特定查询参数的请求(比如必须包含id、h、w参数),可以在Match节点中添加QueryParameters配置。示例如下:

"ReverseProxy": {
   "Routes": {
      "route1": {
         "ClusterId": "cluster1",
         "Match": {
               "Path": "/Contact/Images/Image.ashx",
               "QueryParameters": [
                  { "Name": "id", "Mode": "Exists" },
                  { "Name": "h", "Mode": "Exists" },
                  { "Name": "w", "Mode": "Exists" }
               ]
           }
        }
     },
     "Clusters": {
        "cluster1": {
           "LoadBalancingPolicy": "RoundRobin",
           "Destinations": {
              "cluster1/destination1": {
                 "Address": "https://www.example.com"
              }
           }
        }
     }
  }
  • Mode: "Exists"表示只要该查询参数存在即可,不限制具体值;如果需要匹配特定参数值,可以改为"Value": "xxx",比如{ "Name": "h", "Value": "28" }。

额外配置说明

  • 若需要忽略路径大小写匹配,可在Match节点中添加"IgnoreCase": true。
  • 若要匹配该路径下的所有子路径(如/Contact/Images/Image.ashx/xxx),可使用路径模板"/Contact/Images/Image.ashx/{**catch-all}"。

内容的提问来源于stack exchange,提问作者Mostafa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 14:55:01