Remove a double slash in the HTTPS redirection when Let's Encrypt is enabled (#5537)

Before:

$ curl 0.0.0.0:3001
<a href="https://gitea.example.com:3000//">Found</a>.

After:

$ curl 0.0.0.0:3001
<a href="https://gitea.example.com:3000/">Found</a>.

Fixes #5536
release/v1.15
Greg Karékinian 2018-12-12 22:00:24 +01:00 committed by Lauris BH
parent 0bd802e3e1
commit ebef3eff23
1 changed files with 4 additions and 1 deletions

View File

@ -102,7 +102,10 @@ func runLetsEncryptFallbackHandler(w http.ResponseWriter, r *http.Request) {
http.Error(w, "Use HTTPS", http.StatusBadRequest) http.Error(w, "Use HTTPS", http.StatusBadRequest)
return return
} }
target := setting.AppURL + r.URL.RequestURI() // Remove the trailing slash at the end of setting.AppURL, the request
// URI always contains a leading slash, which would result in a double
// slash
target := strings.TrimRight(setting.AppURL, "/") + r.URL.RequestURI()
http.Redirect(w, r, target, http.StatusFound) http.Redirect(w, r, target, http.StatusFound)
} }