Built an HTTP/3-to-HTTP/2 reverse proxy in Rust that terminates QUIC connections at the edge and forwards to upstream HTTP/2 backends — enabling HTTP/3 for clients without modifying existing infrastructure.
Implemented per-upstream load balancing with three strategies: round-robin, consistent hashing (FNV-1a), and random, each pool independently configured via YAML.
Added path-prefix and host-based routing with longest-prefix matching across multiple upstream backend pools.
Integrated passive health checks tracking backend liveness and excluding unhealthy nodes from the selection pool.