diff options
author | George Goldberg <george@gberg.me> | 2018-03-02 15:55:03 +0000 |
---|---|---|
committer | George Goldberg <george@gberg.me> | 2018-03-02 15:55:03 +0000 |
commit | 901acc9703ae58b625b44e7abfd02333b9bab951 (patch) | |
tree | 1a8fc17a85544bc7b8064874923e2fe6e3f44354 /app/server.go | |
parent | 21afaf4bedcad578d4f876bb315d1072ccd296e6 (diff) | |
parent | 2b3b6051d265edf131d006b2eb14f55284faf1e5 (diff) | |
download | chat-901acc9703ae58b625b44e7abfd02333b9bab951.tar.gz chat-901acc9703ae58b625b44e7abfd02333b9bab951.tar.bz2 chat-901acc9703ae58b625b44e7abfd02333b9bab951.zip |
Merge branch 'master' into advanced-permissions-phase-1
Diffstat (limited to 'app/server.go')
-rw-r--r-- | app/server.go | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/app/server.go b/app/server.go index afa282ad6..93804a372 100644 --- a/app/server.go +++ b/app/server.go @@ -171,20 +171,25 @@ func (a *App) StartServer() error { } if *a.Config().ServiceSettings.Forward80To443 { - if *a.Config().ServiceSettings.UseLetsEncrypt { - go http.ListenAndServe(":http", m.HTTPHandler(nil)) + if host, _, err := net.SplitHostPort(addr); err != nil { + l4g.Error("Unable to setup forwarding: " + err.Error()) } else { - go func() { - redirectListener, err := net.Listen("tcp", ":80") - if err != nil { - listener.Close() - l4g.Error("Unable to setup forwarding: " + err.Error()) - return - } - defer redirectListener.Close() + httpListenAddress := net.JoinHostPort(host, "http") - http.Serve(redirectListener, http.HandlerFunc(redirectHTTPToHTTPS)) - }() + if *a.Config().ServiceSettings.UseLetsEncrypt { + go http.ListenAndServe(httpListenAddress, m.HTTPHandler(nil)) + } else { + go func() { + redirectListener, err := net.Listen("tcp", httpListenAddress) + if err != nil { + l4g.Error("Unable to setup forwarding: " + err.Error()) + return + } + defer redirectListener.Close() + + http.Serve(redirectListener, http.HandlerFunc(redirectHTTPToHTTPS)) + }() + } } } |