Skip to content

Feature request: please support the Haproxy PROXY protocol #70

@rfc1036

Description

@rfc1036

Implementing TLS termination in a different process is a good idea, because it allows to use multiple CPU cores and keeps the complex TLS code outside of the ircd event loop.

The problem with the currently recommended design using stunnel is that it requires configuring transparent proxying, which itself requires enabling connection tracking in the Linux kernel. This is bad, because connection tracking causes a significant overhead when defending from DoS attacks.

The PROXY protocol allows a TCP or UDP proxy to pass to the backend the original IP address of the proxied connection, hence removing the need for transparent proxying.
While it was originally invented by the Haproxy developers, nowadays it is implemented also by nginx, stunnel and many other programs.

For details and an example implementation see https://www.haproxy.org/download/3.2/doc/proxy-protocol.txt.

Metadata

Metadata

Assignees

Labels

Projects

Status

In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions