diff --git a/net/ghttp/ghttp_request.go b/net/ghttp/ghttp_request.go index 5c546d16416..cba9737565c 100644 --- a/net/ghttp/ghttp_request.go +++ b/net/ghttp/ghttp_request.go @@ -224,8 +224,11 @@ func (r *Request) GetRemoteIp() string { // GetUrl returns current URL of this request. func (r *Request) GetUrl() string { - scheme := "http" - proto := r.Header.Get("X-Forwarded-Proto") + var ( + scheme = "http" + proto = r.Header.Get("X-Forwarded-Proto") + ) + if r.TLS != nil || (proto != "" && strings.ToLower(proto) == "https") { scheme = "https" }