diff --git a/app.go b/app.go index 5403610..9019399 100644 --- a/app.go +++ b/app.go @@ -404,6 +404,10 @@ func Serve() { http.Handle("/", r) // Start web application server + var bindAddress = app.cfg.Server.Bind + if bindAddress == "" { + bindAddress = "localhost" + } if app.cfg.IsSecureStandalone() { log.Info("Serving redirects on http://localhost:80") go func() { @@ -413,13 +417,14 @@ func Serve() { log.Error("Unable to start redirect server: %v", err) }() - log.Info("Serving on https://localhost:443") + log.Info("Serving on %s:443", bindAddress) log.Info("---") - err = http.ListenAndServeTLS(":443", app.cfg.Server.TLSCertPath, app.cfg.Server.TLSKeyPath, nil) + err = http.ListenAndServeTLS( + fmt.Sprintf("%s:443", bindAddress), app.cfg.Server.TLSCertPath, app.cfg.Server.TLSKeyPath, nil) } else { - log.Info("Serving on http://localhost:%d\n", app.cfg.Server.Port) + log.Info("Serving on http://%s:%d\n", bindAddress, app.cfg.Server.Port) log.Info("---") - err = http.ListenAndServe(fmt.Sprintf(":%d", app.cfg.Server.Port), nil) + err = http.ListenAndServe(fmt.Sprintf("%s:%d", bindAddress, app.cfg.Server.Port), nil) } if err != nil { log.Error("Unable to start: %v", err) diff --git a/config/config.go b/config/config.go index 56d8848..50a904b 100644 --- a/config/config.go +++ b/config/config.go @@ -12,6 +12,7 @@ type ( ServerCfg struct { HiddenHost string `ini:"hidden_host"` Port int `ini:"port"` + Bind string `ini:"bind"` TLSCertPath string `ini:"tls_cert_path"` TLSKeyPath string `ini:"tls_key_path"` @@ -60,6 +61,7 @@ func New() *Config { return &Config{ Server: ServerCfg{ Port: 8080, + Bind: "localhost", /* IPV6 support when not using localhost? */ }, Database: DatabaseCfg{ Type: "mysql",