HTTP 服务路由管理
v3.0.0+
tcb routes 命令自 v3.0.0 起提供。
tcb routes 用于管理 HTTP 网关的路由规则。路由规则定义了如何将 HTTP 请求(按域名+路径)转发到云函数、云托管、静态托管等上游服务。
路由与域名的关系
查看路由列表
查看当前环境下的所有路由配置:
tcb routes list -e <envId>
支持分页和过滤:
# 分页查询
tcb routes list -e <envId> --limit 50 --offset 0
# 按域名过滤
tcb routes list -e <envId> --filter "Domain=api.example.com"
# 按上游服务类型过滤
tcb routes list -e <envId> --filter "UpstreamResourceType=CBR"
# 多条件组合(且关系,&连接;多值用逗号分隔,或关系)
tcb routes list -e <envId> --filter "UpstreamResourceType=SCF&Domain=api.example.com,api2.example.com"
--filter 可过滤字段:
| 字段 | 说明 | 可选值 |
|---|---|---|
Domain | 域名 | 任意域名字符串,多值逗号分隔(或关系) |
Path | 路由路径 | 任意路径字符串 |
UpstreamResourceType | 上游服务类型 | SCF、CBR、STATIC_STORE、WEB_SCF、LH |
创建路由
为指定域名创建 一个或多个路由规则,通过 --data 参数传入 JSON 配置:
tcb routes add -e <envId> --data '<JSON>'
JSON 数据格式:
{
"domain": "必填,域名",
"routes": [
{
"path": "必填,路径(必须以 / 开头,不支持通配符)",
"upstreamResourceType": "必填,上游类型",
"upstreamResourceName": "必填,上游服务名",
"enable": true,
"enableAuth": false,
"enableSafeDomain": true,
"enablePathTransmission": false,
"pathRewrite": { "prefix": "/newpath" },
"qpsPolicy": {
"qpsTotal": 500,
"qpsPerClient": {
"limitBy": "ClientIP",
"limitValue": 20
}
}
}
]
}
路由配置字段说明:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
domain | string | 是 | 目标域名,必须已通过 tcb domains add 绑定 |
routes[].path | string | 是 | 路由路径,必须以 / 开头,不支持通配符 /*。每段仅允许字母/数字/./_/-,每段 ≤ 50 字符;不可使用系统保留前缀 /__auth、/.well-known |
routes[].upstreamResourceType | string | 是 | 上游服务类型:SCF |