Bug fixes

This commit is contained in:
Matthew Holt 2015-05-21 00:40:05 -06:00
parent 5f72b7438a
commit ee754b4a47
4 changed files with 42 additions and 30 deletions

View File

@ -97,11 +97,24 @@ func ArrangeBindings(allConfigs []server.Config) (map[*net.TCPAddr][]server.Conf
// Group configs by bind address
for _, conf := range allConfigs {
addr, err := net.ResolveTCPAddr("tcp", conf.Address())
newAddr, err := net.ResolveTCPAddr("tcp", conf.Address())
if err != nil {
return addresses, errors.New("Could not serve " + conf.Address() + " - " + err.Error())
}
// Make sure to compare the string representation of the address,
// not the pointer, since a new *TCPAddr is created each time.
var existing bool
for addr := range addresses {
if addr.String() == newAddr.String() {
addresses[addr] = append(addresses[addr], conf)
existing = true
break
}
}
if !existing {
addresses[newAddr] = append(addresses[newAddr], conf)
}
}
// Don't allow HTTP and HTTPS to be served on the same address

View File

@ -268,7 +268,7 @@ func standardAddress(str string) (host, port string, err error) {
}
host, port, err = net.SplitHostPort(str)
if err != nil {
if err != nil && schemePort == "" {
host, port, err = net.SplitHostPort(str + ":") // tack on empty port
}
if err != nil && schemePort != "" {

View File

@ -14,10 +14,8 @@ func TLS(c *Controller) (middleware.Middleware, error) {
c.TLS.Enabled = true
if c.Port == "http" {
c.TLS.Enabled = false
log.Printf("Warning: TLS was disabled on host http://%s."+
" Make sure you are specifying https://%s in your config (if you haven't already)."+
" If you meant to serve tls on port 80,"+
" specify port 80 in your config (https://%s:80).", c.Host, c.Host, c.Host)
log.Printf("Warning: TLS disabled for %s://%s. To force TLS over the plaintext HTTP port, "+
"specify port 80 explicitly (https://%s:80).", c.Port, c.Host, c.Host)
}
for c.Next() {

View File

@ -78,10 +78,11 @@ func main() {
}(s)
app.Servers = append(app.Servers, s)
}
// Show initialization output
if !app.Quiet {
var checkedFdLimit bool
for addr, configs := range addresses {
for _, conf := range configs {
// Print address of site
@ -109,8 +110,8 @@ func main() {
}
}
}
}
// Wait for all listeners to stop
app.Wg.Wait()
}