chenxing f456c85702
build / build-push (push) Successful in 1m10s
feat(gateway): 入口分流 + ANON 豁免接线,退役 admin.html 治理小页
判定接线(SignVerifyFilter 拆三段,内部入口逻辑逐字节不变):
- 内部入口(容器网直连,无标记)一律验签,不看 visibility/authMode
- 外部入口(来源可信 + X-Entry: external)→ INTERNAL 裸 403;EXTERNAL×SIGNED 验签;
  EXTERNAL×ANON 限流内免签放行(verdict=ANON / caller=anonymous / 不注入身份头),
  超限 429、限流未就绪 403(fail-closed)
- 外部入口的 403/429 属策略层拒绝,与 observe 正交

新增:
- auth/EntryDetector:可信来源 CIDR + X-Entry 双条件判定,仅认 IPv4,非法一律不可信
- auth/AnonRateLimiter:ALLOW/EXCEEDED/UNAVAILABLE 契约
- auth/UnavailableAnonRateLimiter:T3.1 前的占位实现,恒 fail-closed
- route/RouteChangeBroadcaster:频道 gw:route:version 变更广播(判定仍读本地 Caffeine,
  Redis 只做变更通知,Redis 异常回落本地快照,不存在“挂了就放行”)

其他:
- GatewayProperties 新增 trusted-proxies / anon-per-ip-qps
- StreamingForwarder 把 x-entry 加入剥除集(伪造值也到不了提供方)
- InternalAdminController 白名单 {SIGNED,ANON}、删 page()、写后广播;RouteRefreshController 广播
- 硬删 static/admin.html(治理面已前端化,重载注册表由 front 头部按钮承接)
- 测试:EntryDetectorTest、SignVerifyFilterEntryTest(入口×策略矩阵)等,101/101 全绿
2026-09-24 10:30:14 +08:00
2026-09-21 10:29:53 +08:00

open-gateway 开放接口网关

容器网内 oapi 统一入口(路由 / 验签 / 转发 / 台账),后期对外 open.yunhaixingtong.com 唯一鉴权面。 实施依据:开放接口中心实施方案1.0.md(云海 workspace 根目录)。

  • 端口:10010(projman 注册:空 contextPath、needDb=true、infraServices=["redis"])
  • 库表:docs/sql/01_schema.sql(注册表/台账/日统计;T1.7 导入)
  • 环境值(datasource/redis/routes/observe)一律走平台配置层,jar 内 yml 只留占位注释
  • CI:push main 自动构建 app.jar 并推 nexus:8083/docker-hosted/open-gateway-service
S
Description
managed by projman
Readme
397 KiB
Languages
Java 99.8%
Dockerfile 0.2%