Without this, mtg and Caddy see HAProxy's container IP for every connection, which breaks meaningful logging, abuse handling, and any IP-based blocklist logic. HAProxy sends a PROXY protocol v2 header on its TCP backends; mtg enables proxy-protocol-listener, and Caddy wraps :8443 with a proxy_protocol listener before tls. The :80 path (ACME HTTP-01 passthrough) is unchanged — client IP there is not useful and HAProxy's http mode already adds X-Forwarded-For if anyone wants it. Requested in https://github.com/9seconds/mtg/pull/462 review.pull/462/head
|
|
||
| 3 |
|
3 |
|
| 4 |
|
4 |
|
| 5 |
|
5 |
|
|
6 |
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
|
14 |
|
|
|
15 |
|
|
|
16 |
|
|
|
17 |
|
|
|
18 |
|
|
|
19 |
|
|
|
20 |
|
|
|
21 |
|
|
|
22 |
|
|
|
23 |
|
|
|
24 |
|
|
| 6 |
|
25 |
|
| 7 |
|
26 |
|
| 8 |
|
27 |
|
|
|
||
| 43 |
|
43 |
|
| 44 |
|
44 |
|
| 45 |
|
45 |
|
|
46 |
|
|
|
47 |
|
|
|
48 |
|
|
|
49 |
|
|
|
50 |
|
|
|
51 |
|
|
|
52 |
|
|
|
53 |
|
|
|
54 |
|
|
|
55 |
|
|
|
56 |
|
|
|
57 |
|
|
|
58 |
|
|
| 46 |
|
59 |
|
| 47 |
|
60 |
|
| 48 |
|
61 |
|
|
|
||
| 46 |
|
46 |
|
| 47 |
|
47 |
|
| 48 |
|
48 |
|
| 49 |
|
|
|
|
49 |
|
|
|
50 |
|
|
|
51 |
|
|
|
52 |
|
|
| 50 |
|
53 |
|
| 51 |
|
54 |
|
| 52 |
|
|
|
|
55 |
|
|
|
56 |
|
|
|
57 |
|
|
|
58 |
|
|
| 53 |
|
59 |
|
| 54 |
|
60 |
|
| 55 |
|
61 |
|
|
|
||
| 7 |
|
7 |
|
| 8 |
|
8 |
|
| 9 |
|
9 |
|
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
| 10 |
|
14 |
|
| 11 |
|
15 |
|
| 12 |
|
16 |
|