diff options
author | Francis Lavoie <lavofr@gmail.com> | 2021-12-17 10:53:11 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-17 08:53:11 -0700 |
commit | 5333c3528bd2badf1676efcced322d151e3706c8 (patch) | |
tree | 3d8b62c94c524acc193af21ee7dd91f5ba99e645 | |
parent | 180ae0cc4843ecc3c7ddcb6e978ebfd474ed07f9 (diff) |
reverseproxy: Fix incorrect `health_headers` Caddyfile parsing (#4485)
Fixes #4481
-rw-r--r-- | caddytest/integration/caddyfile_adapt/reverse_proxy_health_headers.txt | 4 | ||||
-rw-r--r-- | modules/caddyhttp/reverseproxy/caddyfile.go | 14 |
2 files changed, 9 insertions, 9 deletions
diff --git a/caddytest/integration/caddyfile_adapt/reverse_proxy_health_headers.txt b/caddytest/integration/caddyfile_adapt/reverse_proxy_health_headers.txt index a3d842a..17adcaa 100644 --- a/caddytest/integration/caddyfile_adapt/reverse_proxy_health_headers.txt +++ b/caddytest/integration/caddyfile_adapt/reverse_proxy_health_headers.txt @@ -7,6 +7,7 @@ reverse_proxy 127.0.0.1:65535 { X-Header-Keys VbG4NZwWnipo 335Q9/MhqcNU3s2TO X-Empty-Value } + health_uri /health } ---------- { @@ -38,7 +39,8 @@ reverse_proxy 127.0.0.1:65535 { "VbG4NZwWnipo", "335Q9/MhqcNU3s2TO" ] - } + }, + "uri": "/health" } }, "upstreams": [ diff --git a/modules/caddyhttp/reverseproxy/caddyfile.go b/modules/caddyhttp/reverseproxy/caddyfile.go index c37efd0..52282f7 100644 --- a/modules/caddyhttp/reverseproxy/caddyfile.go +++ b/modules/caddyhttp/reverseproxy/caddyfile.go @@ -361,15 +361,13 @@ func (h *Handler) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { case "health_headers": healthHeaders := make(http.Header) - for d.Next() { - for d.NextBlock(0) { - key := d.Val() - values := d.RemainingArgs() - if len(values) == 0 { - values = append(values, "") - } - healthHeaders[key] = values + for nesting := d.Nesting(); d.NextBlock(nesting); { + key := d.Val() + values := d.RemainingArgs() + if len(values) == 0 { + values = append(values, "") } + healthHeaders[key] = values } if h.HealthChecks == nil { h.HealthChecks = new(HealthChecks) |