内部端点
了解内部端点和云端点的关系,以及没有公网地址的服务如何被 Composer 和公网入口使用。
内部端点是注册在 orbitproxy 里、但没有公网地址的服务。它记录的是「哪一台客户端上有一个什么服务」,而不是一个可以被访问的地址:没有域名,不监听公网端口,浏览器、AI Agent 和任何外部调用方都无法直接连到它。
内部端点本身没有流量。流量只会通过一个有公网地址的入口到达它,这个入口可以是 MCP Composer,也可以是给它单独分配的公网地址。
服务和入口
理解内部端点最简单的方式,是把「服务」和「入口」分开:
- 内部端点是服务本身。 它决定流量最终送到哪台客户端、哪个本地服务。
- 云端点是公网入口。 它有公网地址,负责身份校验、限速、日志,再把请求转给背后的内部端点。
| 对比项 | 内部端点 | 云端点 |
|---|---|---|
| 公网地址 | 没有 | 有,持久唯一 |
| 能否被外部直接访问 | 不能 | 能 |
| 流量策略 | 不能直接配置,策略挂在引用它的入口上 | 可以配置 |
| 带宽、请求体上限、访问日志 | 没有,由入口决定 | 有 |
入口和服务是两个独立的对象,所以一个内部端点可以同时被多个入口使用:它可以拥有自己的公网地址,也可以同时加入多个 Composer。每个入口各自配置流量策略,互不影响。删除一个入口不会删除内部端点。
API 网关的云端点背后也有一个内部端点,它对应你填写的内网地址,由系统在创建云端点时自动生成,不需要单独管理。本文说的内部端点,指的是 MCP Connector 中类型为「内部端点」的那一种。
什么时候使用内部端点
- 服务不应该有独立的公网入口。 数据库、系统日志、容器管理这类 MCP 服务,只在内网里注册,对外只暴露 Composer 这一个受控入口,鉴权和审计都收敛在 Composer 上。
- 一个环境里有很多服务。 内部端点分布在不同客户端和机器上,用一个 Composer 聚合成一个地址,Agent 只需要配置一次。
- 还没想好要不要对外暴露。 先创建为内部端点,需要时再随时分配公网地址。
如果你只想把单个 MCP 服务直接交给 Agent,为它分配公网地址即可,不必创建 Composer。
创建内部端点
在控制中心的 MCP Connectors 页面点击新增 MCP Connector,Connector 类型选择「内部端点」。客户端、MCP 服务、交付方式等配置项,见 MCP Connector。完整的操作流程见连接你的内部Stdio MCP服务。
创建时有几点需要知道:
- 可以批量创建。 内部端点一次可以勾选多个预置 MCP 服务一起创建。带公网地址的云端点一次只能创建一个。
- Server Key 在同一台客户端内唯一。 同一台客户端上已经有相同 Server Key 的 Connector 时,创建会被拒绝。
- 创建之后只能修改显示名称和本地服务参数。 所属客户端、预置服务和 Server Key 都不能修改,需要换的话,删除后重新创建。
- 创建之后会立即预检。 如果此时客户端不在线,预检无法执行,等客户端上线后在 Connector 详情里重新预检即可。
管理内部端点
| 操作 | 效果 |
|---|---|
| 分配公网地址 | 在 Connector 的「公网地址」页签中分配。内部端点会多出一个云端点入口,可以挂流量策略。已经有公网地址的 Connector 不能重复分配 |
| 移除公网入口 | 释放这个公网地址,已经接入的 AI Agent 将无法再通过该地址访问。内部端点自身保留,不会被删除,仍然可以被 Composer 使用 |
| 加入 / 移出 Composer | 在 Composer 的成员页签中操作。移出只解除关联,不会删除内部端点 |
| 删除 | 同时删除它的公网入口(如有),并将它从所有 Composer 中移除。Composer 本身会保留 |
如果内部端点所用的预置服务被平台删除,详情中会显示「预设已删除」。内部端点本身不受影响,但调用这个服务会失败。同一个 Composer 里的其他成员不受影响。
可用性
控制中心会显示每个内部端点所属客户端的在线状态。这个状态只用来展示,不参与流量转发:
- 客户端离线时,它上面的内部端点不会从 Composer 里自动隐藏,请求也不会被转到别的地方,调用会直接失败。
- 客户端重新上线后,流量自动恢复,不需要重新创建或重新配置。
套餐到期时,被锁定的是云端点和域名,内部端点自身不会被锁定。但它的所有入口一旦被锁定,它就无法再被访问。
内部端点本身不做身份校验,访问日志也记录在入口上。身份校验、Tool 授权和审计都需要配置在引用它的入口上,见流量策略。
流量如何到达内部端点
一个请求到达内部端点的过程是:
- 请求先到达入口(云端点或 Composer)。入口完成身份校验、流量策略、限速,并记录访问日志。
- orbitproxy 云网关把请求送到内部端点所属客户端的会话上。
- 客户端按内部端点的配置,把请求交给本机上的服务,响应沿原路返回。
整个过程中,你的机器不需要监听任何入站端口。会话与数据会话的细节见客户端工作原理。
对 Composer 来说,路由是精确的:Agent 调用的 Tool 带有 Server Key 前缀,Composer 据此找到唯一的内部端点,不会随机选择,也不会在失败时换一个目标重试。
排查:请求失败了
通过云端点访问内部端点时,如果请求没能到达你的本地服务,响应会是 502,并在响应头 X-Orbitproxy-Error 中带上错误码,同一个错误码也会记录在访问日志里。
| 错误码 | 含义 | 建议处理 |
|---|---|---|
endpoint_not_found | 云网关当前找不到这个内部端点 | 最常见的原因是所属客户端不在线,客户端断开后它的端点会从云网关卸载。在控制中心确认客户端在线,或在那台机器上执行 orbitproxy status 检查。内部端点刚被删除时也会出现 |
machine_offline | 客户端刚刚断开 | 与上一条相同,等待客户端重连,或重启客户端 |
work_slot_full | 这台客户端的并发连接数已达上限 | 稍后重试,或降低并发请求数 |
workconn_open_failed | 客户端在线,但没能为这次请求打开通往本地服务的连接 | 查看客户端日志,必要时重启客户端 |
upstream_error | 请求已经交给客户端,但本地服务没有正常返回 | 检查本地服务是否在运行,监听地址是否和内部端点配置的一致 |
通过 Composer 访问时,失败的那一次 Tool 调用会以错误的形式返回给 Agent,其他成员的调用不受影响。
后续步骤
- MCP Connector:内部端点的创建配置、预检和 Tools 发现。
- MCP Composer:把多个内部端点聚合成一个受控的公网入口。
- 云端点:了解有公网地址的入口能做什么。