---
url: /docs/architecture/edge.md
---
# 边缘路由与绑定

## 路径归属

`apps/web/worker.ts` 是客户站点的统一入口。`/api/*` 转给接口服务；下列路径及其子路径转给工作台；其余请求交给公开站静态资源。

```text
/_app
/login
/signup
/forgot-password
/reset-password
/dashboard
/history
/credits
/members
/settings
```

匹配采用完整路径或以斜杠分隔的子路径，避免 `/members-only` 之类公开页面被 `/members` 误拦截。新增工作台顶层路由后必须同步入口列表和本地网关，并检查直接刷新地址的结果。

## 服务与资源绑定

| 绑定                  | 所属服务       | 用途                           |
| --------------------- | -------------- | ------------------------------ |
| `ASSETS`              | 公开站、工作台 | 提供各自构建产物               |
| `APP_SERVICE`         | 公开站         | 转发登录与工作台请求           |
| `API_SERVICE`         | 公开站         | 转发接口请求                   |
| `HYPERDRIVE_UNCACHED` | 接口           | 认证、权限、账单与实时数据查询 |
| `HYPERDRIVE_CACHED`   | 接口           | 可接受短期旧结果的查询         |

资源名称和环境值在各应用的 `wrangler.jsonc`。接口启用 Node 兼容能力以使用数据库及服务依赖，公开站和工作台无需照搬这些设置。

## 缓存边界

公开静态资源可以缓存。会话、成员权限、积分余额、订阅状态及写入后的查询不使用 Hyperdrive 查询缓存，也不能被公开响应缓存。服务端是否允许操作由数据库里的当前身份和角色决定。

## 排查

页面跳错应用时，先查路径分流；接口 404 时，检查公开入口服务绑定和接口路由；只有线上数据库失败时，检查两个 Hyperdrive 资源与连接权限。完整本地预览使用直连数据库，不能替代线上绑定验收。

基础设施与应用发布的责任边界见 [部署决策](../adr/002-terraform-wrangler-boundary.md)。
