fix(download): fix scheme determination behind reverse proxies
build / Go-Build (push) Successful in 1m29s
build / Go-Build (pull_request) Successful in 1m30s

This commit is contained in:
2026-05-31 13:12:57 +02:00
parent e05aa849c7
commit 8906cd9678
+13 -4
View File
@@ -104,9 +104,18 @@ func getPublicUrl(r *http.Request, subpath string) string {
Host: r.Host, Host: r.Host,
Path: path.Join("public", subpath), Path: path.Join("public", subpath),
} }
newURL.Scheme = "http" newURL.Scheme = determineScheme(r)
if r.TLS != nil {
newURL.Scheme = "https"
}
return newURL.String() return newURL.String()
} }
func determineScheme(r *http.Request) string {
if proto := r.Header.Get("X-Forwarded-Proto"); proto != "" {
return proto
}
if r.TLS != nil {
return "https"
}
return "http"
}