mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-27 22:23:48 +03:00
reverse_proxy: Add 'transparent' Caddyfile subdirective (closes #2873)
This commit is contained in:
parent
f6ae092507
commit
86b785e51c
1 changed files with 15 additions and 0 deletions
|
@ -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())
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue