diff --git a/package.json b/package.json index 37b8af0..68b3665 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cosmos-server", - "version": "0.8.0-unstable2", + "version": "0.8.0-unstable3", "description": "", "main": "test-server.js", "bugs": { diff --git a/src/proxy/routeTo.go b/src/proxy/routeTo.go index f6072ec..0d45831 100644 --- a/src/proxy/routeTo.go +++ b/src/proxy/routeTo.go @@ -17,6 +17,14 @@ func NewProxy(targetHost string, AcceptInsecureHTTPSTarget bool) (*httputil.Reve } proxy := httputil.NewSingleHostReverseProxy(url) + + proxy.Director = func(req *http.Request) { + req.URL.Scheme = url.Scheme + req.URL.Host = url.Host + req.Header.Set("X-Forwarded-Host", req.Host) + req.Header.Set("X-Forwarded-Proto", url.Scheme) + req.Host = url.Host + } if AcceptInsecureHTTPSTarget && url.Scheme == "https" { proxy.Transport = &http.Transport{