Skip to content

WebTalk 代理 API

WebTalk 是 EcoCtrl 内置的 WebSocket 反向代理模块,用于将第三方 Web 应用嵌入到 Admin 管理后台。通过统一认证中转和 CORS 策略白名单,实现安全可控的第三方系统集成。

所有端点均需认证,除非另有说明。

相关子系统文档WebTalk 反向代理设计

API 参考

反向代理 (通配符路由)

WebTalk 使用一条通配符路由 /* 捕获并转发所有匹配的请求到上游目标服务。

/* (通配符代理)

属性说明
方法全部 HTTP 方法(GET / POST / PUT / DELETE / PATCH / …)
路径通配符 /*,匹配所有子路径
认证需要通过 EcoCtrl 认证(Bearer Token)
上游目标从 WebTalk 配置中读取的目标第三方服务 URL

行为说明:

  1. 请求到达 EcoCtrl 后端
  2. 验证请求中的 Authorization: Bearer <token>
  3. 从 WebTalk 配置中查找路由映射,确定上游目标 URL
  4. 请求头转发:自动传递认证信息,可将 EcoCtrl 用户身份注入到上游请求中
  5. 响应透传:上游响应直接返回给客户端(状态码、Headers、Body 均保持原样)

认证转发机制

WebTalk 在反向代理请求时,将 EcoCtrl 的认证身份转发给上游第三方系统:

转发方式说明
Header 注入在转发请求头中注入 X-EcoCtrl-User-IdX-EcoCtrl-User-Name 等标识
Token 透传可选将原始 Bearer Token 透传给上游
免登录嵌入用户无需在第三方系统中再次登录

配置要求:上游第三方系统需信任 EcoCtrl 的 Header 注入,通常需要在白名单网络中部署。

iframe CORS 策略

为支持在 Admin 后台中以 iframe 嵌入第三方 Web 应用,WebTalk 配置了以下策略:

策略说明
Content-Security-Policy: frame-ancestors仅允许 EcoCtrl Admin 域名作为父页面
X-Frame-Options: ALLOW-FROM兼容旧版浏览器的帧来源限制
CORS 白名单预配置允许跨域访问的来源域名列表

配置字段

字段类型说明
upstreamUrlstring上游第三方服务的 URL
allowedOriginsarrayCORS 白名单
injectHeadersobject转发时注入的头部
wsSupportboolean是否启用 WebSocket 代理支持

API 参考

基于 MIT 协议发布