cloudflare / cloudflare/pingora

HAProxy PROXY protocol v1/v2 support

Open
#132 5 comments 15 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
27.4k
Forks
1.7k
Avg merge
6h 22m
Merged PRs (30d)
3

Description

## What is the problem your feature solves, or the need it fulfills?

its a quite common usecase to have pingora behind a loadbalancer when running inside of cloud infrastructure. They usually implement the PROXY protocol to give information about the TCP session like the connection initiator, connection target, client & server and the proxy. It would be immensly helpful to have those informations on pingora's side.

## Describe the solution you'd like

Implement the PROXY protocol as decribed in the [docs](https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt) from HAProxy itself. Otherwise there are some rust based implementations floating around that could speedup the process.

[example 1](https://crates.io/crates/proxy-protocol)
[example 2](https://crates.io/crates/proxy-header)
[example 3](https://crates.io/crates/actix-proxy-protocol)
[example 4](https://crates.io/crates/ppp)

## Describe alternatives you've considered

The other solution would be to use [mmproxy](https://github.com/cloudflare/mmproxy) but that makes it quite inflexible and brings other challenges in itself.

Thank you for this awesome project. 👍

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.