f456c85702a4633b8616c8aa98395189d9d2c46b
build / build-push (push) Successful in 1m10s
判定接线(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 全绿
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
Languages
Java
99.8%
Dockerfile
0.2%