Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
Mirrored from https://github.com/Slazee/caddy.git
Synced Nov 13, 10:30 UTC
reverseproxy: On 103 don't delete own headers (#5091)
See #5074
Matt Holt committed
Sep 29, 2022 at 08:19 UTC
e2991eb019e36b612be3d7b43ed961c7a7e3841d
2 files changed
+10
-10
modules/caddyhttp/headers/caddyfile.go
+7
-8
@@ -32,12 +32,12 @@ func init() {
32
// parseCaddyfile sets up the handler for response headers from
33
// Caddyfile tokens. Syntax:
34
//
35
-// header [<matcher>] [[+|-|?]<field> [<value|regexp>] [<replacement>]] {
36
-// [+]<field> [<value|regexp> [<replacement>]]
37
-// ?<field> <default_value>
38
-// -<field>
39
-// [defer]
40
-// }
35
+// header [<matcher>] [[+|-|?]<field> [<value|regexp>] [<replacement>]] {
36
+// [+]<field> [<value|regexp> [<replacement>]]
37
+// ?<field> <default_value>
38
+// -<field>
39
+// [defer]
40
+// }
41
//
42
// Either a block can be opened or a single header field can be configured
43
// in the first line, but not both in the same directive. Header operations
@@ -148,8 +148,7 @@ func parseCaddyfile(h httpcaddyfile.Helper) ([]httpcaddyfile.ConfigValue, error)
148
// parseReqHdrCaddyfile sets up the handler for request headers
149
// from Caddyfile tokens. Syntax:
150
//
151
-// request_header [<matcher>] [[+|-]<field> [<value|regexp>] [<replacement>]]
152
-//
151
+// request_header [<matcher>] [[+|-]<field> [<value|regexp>] [<replacement>]]
152
func parseReqHdrCaddyfile(h httpcaddyfile.Helper) ([]httpcaddyfile.ConfigValue, error) {
153
if !h.Next() {
154
return nil, h.ArgErr()
modules/caddyhttp/reverseproxy/reverseproxy.go
+3
-2
@@ -782,8 +782,9 @@ func (h *Handler) reverseProxy(rw http.ResponseWriter, req *http.Request, origRe
782
copyHeader(h, http.Header(header))
783
rw.WriteHeader(code)
784
785
- // Clear headers, it's not automatically done by ResponseWriter.WriteHeader() for 1xx responses
786
- for k := range h {
785
+ // Clear headers coming from the backend
786
+ // (it's not automatically done by ResponseWriter.WriteHeader() for 1xx responses)
787
+ for k := range header {
788
delete(h, k)
789
}
790