diff options
author | Matthew Holt <[email protected]> | 2019-10-11 14:25:39 -0600 |
---|---|---|
committer | Matthew Holt <[email protected]> | 2019-10-11 14:25:39 -0600 |
commit | 1e31be8de0d1d5587348619225456a793cb30f7f (patch) | |
tree | fa3fca930b8ae02649471698950a60cce8afc539 /modules/caddyhttp/reverseproxy/caddyfile.go | |
parent | 4aa3af4b78addcf65ce6b254be10f006bae1c9ac (diff) | |
download | caddy-1e31be8de0d1d5587348619225456a793cb30f7f.tar.gz caddy-1e31be8de0d1d5587348619225456a793cb30f7f.zip |
reverse_proxy: Allow dynamic backends (closes #990 and #1539)
This PR enables the use of placeholders in an upstream's Dial address.
A Dial address must represent precisely one socket after replacements.
See also #998 and #1639.
Diffstat (limited to 'modules/caddyhttp/reverseproxy/caddyfile.go')
-rw-r--r-- | modules/caddyhttp/reverseproxy/caddyfile.go | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/modules/caddyhttp/reverseproxy/caddyfile.go b/modules/caddyhttp/reverseproxy/caddyfile.go index 83298d84c..6b1ec6923 100644 --- a/modules/caddyhttp/reverseproxy/caddyfile.go +++ b/modules/caddyhttp/reverseproxy/caddyfile.go @@ -81,9 +81,7 @@ func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error) func (h *Handler) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { for d.Next() { for _, up := range d.RemainingArgs() { - h.Upstreams = append(h.Upstreams, &Upstream{ - Dial: up, - }) + h.Upstreams = append(h.Upstreams, &Upstream{Dial: up}) } for d.NextBlock(0) { @@ -94,9 +92,7 @@ func (h *Handler) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { return d.ArgErr() } for _, up := range args { - h.Upstreams = append(h.Upstreams, &Upstream{ - Dial: up, - }) + h.Upstreams = append(h.Upstreams, &Upstream{Dial: up}) } case "lb_policy": @@ -502,6 +498,7 @@ func (h *HTTPTransport) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { if d.Val() == "off" { var disable bool h.KeepAlive.Enabled = &disable + break } dur, err := time.ParseDuration(d.Val()) if err != nil { @@ -521,6 +518,7 @@ func (h *HTTPTransport) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { h.KeepAlive = new(KeepAlive) } h.KeepAlive.MaxIdleConns = num + h.KeepAlive.MaxIdleConnsPerHost = num default: return d.Errf("unrecognized subdirective %s", d.Val()) |