拓扑:waf:443 → ca:8443(认证+前置转发)→ gateway:8445(仅 loopback 纯转发), WAF upstream 不变,core/dnfs2/前端零改动。 ca v1.0.0(新模块): - 认证资产逐字搬迁自 gateway v0.8.0(9 条认证路由、Token 双轨吊销、 PBKDF2、限流、WS 代理鉴权、wrapperHttp、优雅关闭) - handleForward 前置转发层:固定上游 gateway:8445;无 Target-Url 公开直转, 有则本地验签后注入 X-Auth-User/X-Auth-Admin/Authorization(strip-then-set) - is_special_header 新增剥离 x-auth-user/x-auth-admin;上游不可达统一 502 - confs/configs/ca.ini 新增([Upstream] gateway + UPSTREAM_GATEWAY env) gateway v0.9.0(2470→约 560 行): - 删除全部认证代码,退居 127.0.0.1:8445 - 启动 loopback 强制自检(非 loopback 拒绝启动) - X-Auth-User 存在性不变量:显式 Target-Url 无该头一律 401 - gateway.ini 精简至 [Server]/[Proxy]/[Downstream db] 验收:黑盒 34 断言对 8443 原样全绿(32 passed/2 skipped,与基线一致); 探针实测伪造 X-Auth-User 经 CA 被剥离(echo 实证)、直连 8445 无头 401、 白名单外 403、gateway 宕机 CA 502。core/init.txt 加入 ca/_run.sh。
21 lines
788 B
INI
21 lines
788 B
INI
[Server]
|
||
# v0.9.0:认证独立化(waf → ca → gateway 前置拓扑)
|
||
# gateway 退化为纯转发服务,仅 loopback 监听(启动强制自检,非 loopback 拒绝启动):
|
||
# - 8443 由 ca 接管(WAF upstream 不变),gateway 退居 8445
|
||
# - 认证/验签/限流/WS 代理鉴权已全部迁至 ca(confs/configs/ca.ini)
|
||
# - tls = off 启用 HTTP 模式(ca 前置后的内部链路)
|
||
address = 127.0.0.1
|
||
port = 8445
|
||
tls = off
|
||
|
||
[Proxy]
|
||
default = http://127.0.0.1:9200
|
||
closed = http://127.0.0.1:8005;http://127.0.0.1:8007;
|
||
opened = http://127.0.0.1:9200;http://127.0.0.1:8006;http://127.0.0.1:5200;
|
||
|
||
[Downstream]
|
||
# 日志推送端点(db pymsg 服务)
|
||
# 环境变量可覆盖:DB_HOST/DB_PORT, CONFS_HOST/CONFS_PORT
|
||
db_host = 127.0.0.1
|
||
db_port = 8005
|