PROXY v2 fingerprint/mTLS forwarding: end-to-end integration test against the real Harper consumer
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- rust
- 领域
- networking, security, testing
调研方向
首先检查 symphony 现有的 test:integration harness 和 README 中的 PROXY v2 文档,然后确认 #27 和 HarperFast/harper#1858 中的前置条件。添加一个真正的 Harper 集成,涵盖 TLS/mTLS、HTTP 和 MQTT、转发证书认证以及 JA3/JA4 指纹;完成意味着完整的 wire contract 已得到端到端验证。
由索引模型根据 Issue 内容生成。
描述
Follow-up from @hdbjeff's review on #23 (documentation/assurance point) and the mTLS forwarding work in #27.
What's missing
Symphony's PROXY v2 TLV emission (JA3 0xE0 / JA4 0xE1 fingerprints, and mTLS client-cert chain 0xE2 + SSL/authority/ALPN TLVs from #27) is currently covered only by symphony-side encoder tests — we assert the bytes symphony writes, not that the intended consumer reads them correctly.
The consumer is Harper, whose PROXY v1/v2 decoder lands in HarperFast/harper#1858 (shared decoder + withProxyProtocol for MQTT/raw sockets, synthesized getPeerCertificate). The two sides agree on a wire contract (TLV type numbers, SSL verify semantics, DER-leaf-first chain ordering) that nothing tests jointly.
Proposed
Once symphony #27 and harper #1858 both merge, add an integration test that:
- Stands up a real Harper instance behind symphony (TLS termination + mTLS on a route with
sourceAddressHeader: 'proxyProtocolV2'). - Connects a client with a CA-signed client cert.
- Asserts Harper authenticates the request via the forwarded cert (HTTP and MQTT paths) and sees the correct fingerprint — i.e. the full wire contract round-trips.
This belongs wherever the cross-repo harness lives (symphony's test:integration already pulls Harper as a dev-dep, or a harper-side integration test). Documenting the expected consumer / trust boundary / TLV encoding in the README (partially done in #27) is the lighter-weight half of the same ask.
Blocked on: #27, HarperFast/harper#1858.
🤖 Filed by Claude Fable 5 on Kris's behalf
- 主要语言
- Rust
- 星标
- 1
- 派生
- 0
- 平均合并
- 19 小时 12 分钟
- 30 天内合并 PR
- 13
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
HarperFast/symphony 的其他 Issue
-
Don't route to a restarted upstream until it serves, not just accepts可能已有人在做 @kriszyp 于 5 天前认领。 未关闭
HarperFast/symphony#84 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Forward to a peer when the local upstream connect fails on a TLS-terminating failover route可能已有人在做 @kriszyp 于 5 天前认领。 未关闭
HarperFast/symphony#83 · 已指派 1 人 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 48/100
HarperFast/symphony#80 ·
维护者通常 1 天内回复
-
Forward a connection to a peer when its local upstream connect fails可能已有人在做 @kriszyp 于 6 天前认领。 未关闭
HarperFast/symphony#79 · 已指派 1 人 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 35/100
HarperFast/symphony#77 ·
维护者通常 1 天内回复
查看 HarperFast/symphony 的全部 Issue
相似的 Issue
-
agent-self
难度 2/5 1-3 小时 新手友好度 84/100
yologdev/yoyo-evolve#1176 ·
-
难度 2/5 1-3 小时 新手友好度 67/100
Richard-Zhang1019/Crossbow#431 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 86/100
saschanaz/jxl-winthumb#69 ·
-
ready
难度 1/5 1 小时以内 新手友好度 88/100
TusanHomichi/PSIV#504 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 75/100
维护者通常 1 天内回复