From 806f5b111781a3b2734223c8e14780d86ac4edd5 Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Thu, 18 Jul 2024 21:31:07 -0600 Subject: [PATCH] reverseproxy: Fix panic when using header-related flags (fix #6464) --- modules/caddyhttp/reverseproxy/command.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/caddyhttp/reverseproxy/command.go b/modules/caddyhttp/reverseproxy/command.go index 59fa67df..f9304efa 100644 --- a/modules/caddyhttp/reverseproxy/command.go +++ b/modules/caddyhttp/reverseproxy/command.go @@ -229,11 +229,13 @@ func cmdReverseProxy(fs caddycmd.Flags) (int, error) { if changeHost { if handler.Headers == nil { - handler.Headers = &headers.Handler{ - Request: &headers.HeaderOps{ - Set: http.Header{}, - }, - } + handler.Headers = new(headers.Handler) + } + if handler.Headers.Request == nil { + handler.Headers.Request = new(headers.HeaderOps) + } + if handler.Headers.Request.Set == nil { + handler.Headers.Request.Set = http.Header{} } handler.Headers.Request.Set.Set("Host", "{http.reverse_proxy.upstream.hostport}") }