PROXY v2 fingerprint/mTLS forwarding: end-to-end integration test against the real Harper consumer
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- rust
- 領域
- networking, security, testing
調査の方向性
まず、symphony に既存の test:integration ハーネスと README の PROXY v2 ドキュメントを確認し、続いて #27 と HarperFast/harper#1858 の前提条件を確認します。TLS/mTLS、HTTP と MQTT、転送された証明書による認証、JA3/JA4 フィンガープリントを網羅する実際の Harper 統合を追加します。完了とは、完全な 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分
- マージ済み PR(30日)
- 13
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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 が 5 日前に担当しました。 オープン
HarperFast/symphony#79 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
HarperFast/symphony#77 ·
メンテナーはふだん 1 日以内に返信
HarperFast/symphony の issue をすべて見る
似ている issue
-
area: cli kind:docs priority: P3
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
swc-project/swc-ai-issues#164 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
pop-os/cosmic-player#367 ·
-
good first issue help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
servo/rust-smallvec#873 ·