summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancis Lavoie <lavofr@gmail.com>2021-12-17 10:53:11 -0500
committerGitHub <noreply@github.com>2021-12-17 08:53:11 -0700
commit5333c3528bd2badf1676efcced322d151e3706c8 (patch)
tree3d8b62c94c524acc193af21ee7dd91f5ba99e645
parent180ae0cc4843ecc3c7ddcb6e978ebfd474ed07f9 (diff)
reverseproxy: Fix incorrect `health_headers` Caddyfile parsing (#4485)
Fixes #4481
-rw-r--r--caddytest/integration/caddyfile_adapt/reverse_proxy_health_headers.txt4
-rw-r--r--modules/caddyhttp/reverseproxy/caddyfile.go14
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)