summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-11-02 18:42:09 +0900
committernsfisis <nsfisis@gmail.com>2026-02-15 13:40:09 +0900
commit0ee13791fbf81f588f840578e5c3854a7eb06133 (patch)
tree7834c620aef70290331d43007bcfa92d0f1a3d89
parentdb465fd91e16560c5b32135764d70e5d51e169b8 (diff)
downloadmioproxy-0ee13791fbf81f588f840578e5c3854a7eb06133.tar.gz
mioproxy-0ee13791fbf81f588f840578e5c3854a7eb06133.tar.zst
mioproxy-0ee13791fbf81f588f840578e5c3854a7eb06133.zip
fix: do not rewrite scheme if HTTPS is not served
-rw-r--r--server.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/server.go b/server.go
index 261b6bf..363464b 100644
--- a/server.go
+++ b/server.go
@@ -52,9 +52,9 @@ func basicAuthHandler(handler http.Handler, realm, username, passwordHash string
})
}
-func newMultipleReverseProxyServer(ps []ProxyConfig) (*multipleReverseProxyServer, error) {
+func newMultipleReverseProxyServer(cfg *ServerConfig) (*multipleReverseProxyServer, error) {
var rules []rewriteRule
- for _, p := range ps {
+ for _, p := range cfg.Proxies {
targetUrl, err := url.Parse(fmt.Sprintf("http://%s:%d", p.To.Host, p.To.Port))
if err != nil {
return nil, err
@@ -85,7 +85,7 @@ func newMultipleReverseProxyServer(ps []ProxyConfig) (*multipleReverseProxyServe
return nil
}
locationUrl.Host = p.From.Host
- if locationUrl.Scheme == "http" {
+ if cfg.RedirectToHTTPS && locationUrl.Scheme == "http" {
locationUrl.Scheme = "https"
}
r.Header.Set("Location", locationUrl.String())
@@ -158,7 +158,7 @@ func NewServer(cfg *ServerConfig) (*Server, error) {
http.Redirect(w, r, target.String(), http.StatusMovedPermanently)
})
} else {
- reverseProxyServer, err := newMultipleReverseProxyServer(cfg.Proxies)
+ reverseProxyServer, err := newMultipleReverseProxyServer(cfg)
if err != nil {
return nil, err
}