From 44cb804b9e5bc2779cf971862c37a1e3b4671e26 Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Fri, 4 Oct 2019 17:21:38 -0600 Subject: reverse_proxy: Configurable request headers on active health checks See https://caddy.community/t/health-check-user-agent/6309 --- modules/caddyhttp/reverseproxy/healthchecks.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/caddyhttp/reverseproxy/healthchecks.go b/modules/caddyhttp/reverseproxy/healthchecks.go index 084a693..be532ea 100644 --- a/modules/caddyhttp/reverseproxy/healthchecks.go +++ b/modules/caddyhttp/reverseproxy/healthchecks.go @@ -43,6 +43,7 @@ type HealthChecks struct { type ActiveHealthChecks struct { Path string `json:"path,omitempty"` Port int `json:"port,omitempty"` + Headers http.Header `json:"headers,omitempty"` Interval caddy.Duration `json:"interval,omitempty"` Timeout caddy.Duration `json:"timeout,omitempty"` MaxSize int64 `json:"max_size,omitempty"` @@ -163,6 +164,9 @@ func (h *Handler) doActiveHealthCheck(dialInfo DialInfo, hostAddr string, host H if err != nil { return fmt.Errorf("making request: %v", err) } + for key, hdrs := range h.HealthChecks.Active.Headers { + req.Header[key] = hdrs + } // do the request, being careful to tame the response body resp, err := h.HealthChecks.Active.httpClient.Do(req) -- cgit v1.2.3