The state of Proxy Protocol support (up and down) in 2023?

1. The problem I’m having:

I want to proxy SSH, Postgres, and other arbitrary network protocols over TLS, as well as SNI route from one caddy instance to another - though X-Forwarded-For mostly handles that.

The PROXY protocol + mmproxy are the standard tools to makes this work.

Going through the various places for Caddy information, much of it is (hopefully) outdated and/or incomplete in regards to PROXY support.

I just want to know what the latest is, now, with Caddy 2.x, in 2023 (not what it was 4 or 8 years ago).

SEO on this stuff is terribad - search either takes me to completely unrelated pages, or posts that are, y’know, almost a decade old.

Though, it doesn’t help that the two words “Proxy” and “Protocol” is completely generic and nondescript in relation to a web server…

2. Error messages and/or full log output:


3. Caddy version:


4. How I installed and ran Caddy:


a. System environment:


b. Command:


c. Service/unit/compose file:


d. My complete Caddy config:

N/A - don’t know what to do yet

5. Links to relevant resources:

How I’m proxying SSH over TLS:

Support in Caddy’s HTTP server is possible via a plugin currently: Global options (Caddyfile) — Caddy Documentation but we will likely roll this into vanilla Caddy.

Adding support in Caddy’s HTTP proxy is WIP: Proxy protocol reverse proxy rebased by gucki · Pull Request #5424 · caddyserver/caddy · GitHub

Caddy-L4 has support at both the edge (with the proxy_protocol handler) and the proxy (with the proxy_protocol option to the proxy handler). GitHub - mholt/caddy-l4: Layer 4 (TCP/UDP) app for Caddy

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.