From 23f0b536e062385b94572d9572474d67aadea6d1 Mon Sep 17 00:00:00 2001 From: kateoh Date: Wed, 17 Sep 2025 13:26:10 +0800 Subject: [PATCH] preserve original Host and set Host header to support virtual host --- internal/proxy/http/proxy.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/proxy/http/proxy.go b/internal/proxy/http/proxy.go index 6c63658..0d20274 100644 --- a/internal/proxy/http/proxy.go +++ b/internal/proxy/http/proxy.go @@ -144,12 +144,19 @@ func (p *Proxy) proxyRequest( e wrapper.Entity, logger zerolog.Logger, ) { + + origHost := r.Host + if origHost == "" { + origHost = r.Header.Get("Host") + } + r.URL.Scheme = url.Scheme r.URL.Host = url.Host r.URL.Path = url.Path + r.URL.Path r.RequestURI = "" - r.Host = "" + r.Host = origHost + r.Header.Set("Host", origHost) r.Header.Del("Accept-Encoding") xForwardedFor := r.Header.Get("X-Forwarded-For")