@marcel91200 / caddy Mirror · read-only / commits / 5653c36b
Fork 0

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Mirrored from https://github.com/Slazee/caddy.git

Synced Nov 12, 22:00 UTC

templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845)

* Enhancement: Allow X-Forwarded-For Header in httpInclude Virtual Requests The goal of this enhancement is to modify the funcHTTPInclude function in the Caddy codebase to include the X-Forwarded-For header in the virtual request. This change will enable reverse proxies to set the X-Forwarded-For header, ensuring that the client's IP address is correctly provided to the target endpoint. This modification is essential for applications that depend on the X-Forwarded-For header for various functionalities, such as authentication, logging, or content customization. * Updated tplcontext.go - set `virtReq.RemoteAddr = "127.0.0.1"` i have made the suggested changes * Apply suggestions from code review * Update modules/caddyhttp/templates/tplcontext.go --------- Co-authored-by: Francis Lavoie <lavofr@gmail.com>

Thanmay Nath committed Oct 8, 2023 at 02:17 UTC 5653c36bc23d19a679f81023a760e4b20dc2c733
1 file changed +1
modules/caddyhttp/templates/tplcontext.go
+1
@@ -188,6 +188,7 @@ func (c TemplateContext) funcHTTPInclude(uri string) (string, error) {
188 return "", err
189 }
190 virtReq.Host = c.Req.Host
191 + virtReq.RemoteAddr = "127.0.0.1:10000" // https://github.com/caddyserver/caddy/issues/5835
192 virtReq.Header = c.Req.Header.Clone()
193 virtReq.Header.Set("Accept-Encoding", "identity") // https://github.com/caddyserver/caddy/issues/4352
194 virtReq.Trailer = c.Req.Trailer.Clone()