Browse Source
reverse_proxy: Add 'transparent' Caddyfile subdirective (closes #2873)
master
Matthew Holt
5 years ago
No known key found for this signature in database
GPG Key ID: 2A349DD577D586A5
1 changed files with
15 additions and
0 deletions
-
modules/caddyhttp/reverseproxy/caddyfile.go
|
|
@ -411,6 +411,21 @@ func (h *Handler) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { |
|
|
|
} |
|
|
|
h.TransportRaw = caddyconfig.JSONModuleObject(rt, "protocol", name, nil) |
|
|
|
|
|
|
|
case "transparent": |
|
|
|
if d.NextArg() { |
|
|
|
return d.ArgErr() |
|
|
|
} |
|
|
|
if h.Headers == nil { |
|
|
|
h.Headers = new(headers.Handler) |
|
|
|
} |
|
|
|
if h.Headers.Request == nil { |
|
|
|
h.Headers.Request = new(headers.HeaderOps) |
|
|
|
} |
|
|
|
// The X-Forwarded-For header is always appended to by default, directly in the reverse proxy code
|
|
|
|
headers.CaddyfileHeaderOp(h.Headers.Request, "Host", "{http.request.hostport}", "") |
|
|
|
headers.CaddyfileHeaderOp(h.Headers.Request, "X-Real-Ip", "{http.request.remote}", "") |
|
|
|
headers.CaddyfileHeaderOp(h.Headers.Request, "X-Forwarded-Proto", "{http.request.scheme}", "") |
|
|
|
|
|
|
|
default: |
|
|
|
return d.Errf("unrecognized subdirective %s", d.Val()) |
|
|
|
} |
|
|
|