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

如何配置YARP单个路径匹配规则覆盖所有指定路由场景?

用单个YARP路由规则匹配所有以"/secured"开头的路径

你可以通过两种简洁的方式实现需求,无需多条路由:

方式1:使用PathPrefix前缀匹配

这是最直接的方案,YARP的PathPrefix会匹配所有以指定字符串开头的路径,完全覆盖你列出的所有场景(/secured、/secured/、/secured/xyz、/securedxyz)。

配置示例:

"ReverseProxy": {
  "Routes": {
    "secured-to-cluster1": {
      "ClusterId": "cluster1",
      "Match": {
        "PathPrefix": "/secured"
      }
    }
  },
  "Clusters": {
    "cluster1": {
      "Destinations": {
        "cluster1-dest": {
          "Address": "https://your-cluster1-endpoint/"
        }
      }
    }
  }
}

方式2:使用通配符路由模板

如果你更倾向于用路由模板,可使用**通配符(贪婪匹配,会捕获路径中/secured之后的所有内容,包括无斜杠的情况):

配置示例:

"ReverseProxy": {
  "Routes": {
    "secured-to-cluster1": {
      "ClusterId": "cluster1",
      "Match": {
        "Path": "/secured{**catchall}"
      }
    }
  },
  "Clusters": {
    "cluster1": {
      "Destinations": {
        "cluster1-dest": {
          "Address": "https://your-cluster1-endpoint/"
        }
      }
    }
  }
}

为什么你之前的/secured(.*)规则无效?

YARP默认的路径匹配模式不是正则表达式,直接写正则语法不会生效。如果一定要用正则,需要显式设置MatchMode为Regex,并调整正则表达式为^/secured.*,但这种方式没必要,上述两种方案更简洁直观。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 12:49:59