Plugin Ingress · 反代目标
选择目标 Bridge
URL prefix: —
Auth: —
Bridge endpoint(*): — (来自 bridge-health.v1 envelope)
(*) 仅可视化,实际反代由主服务自动完成
1. GET /info(正常)
带 JWT 访问已注册 bridge 的 /info 路径,主服务反代到插件本地 HTTP server。
Expect: 200 · JSON body 含 devicesAttached
—
2. GET /healthz(正常)
健康检查端点,插件应返回 {"status":"ok"}。
Expect: 200 · {"status":"ok"}
—
3. Tenant 不匹配
URL 路径里的 tenant 段故意写错,JWT 里的 tenant_id 不一致,主服务应当拒绝。
Expect: 403 · tenant-mismatch
—
4. 不存在的 bridge
URL 指向一个未注册的 bridge ID(registry 里没条目)。
Expect: 503 · plugin-unavailable
—
5. 不存在的 path
访问插件 manifest 中未声明的路径,主服务应当 404。
Expect: 404 · ingress-path-not-found
—
6. 无 Authorization
不带 JWT 直接打,主服务 tenancy middleware 应当拒绝。
Expect: 401 · auth-required
—
7. 错误方法 (POST /info)
manifest 声明 /info 仅接受 GET,POST 应被拦截。
Expect: 404 · ingress-path-not-found
—
💡 「Direct adapter access (绕过主服务) → 403」的测试场景需要直连 127.0.0.1:<adapter-port>,浏览器从外部访问不到,已在主机端 curl 验证通过(log 见 progress 文件)。
最近一次请求
Details (request + response)