listen/bind in deterministic order for consistent error messages, and warn if quickstart cannot find public ip's

without public ip's, the generated mox config will try to listen on 0.0.0.0 and
::, but because there is already a listener for 127.0.0.1:80 (and possibly
others), a bind for 0.0.0.0:80 will fail. explicit public ip's are needed.

the public http listener is useful for ACME validation over http.

for issue #52
This commit is contained in:
Mechiel Lukkien
2023-08-10 10:29:06 +02:00
parent 01bcd98a42
commit 038b478d16
4 changed files with 40 additions and 6 deletions

View File

@ -457,6 +457,17 @@ listed in more DNS block lists, visit:
fmt.Printf(" OK\n")
}
}
if len(publicIPs) == 0 {
log.Printf(`WARNING: Could not find your public IP address(es). The "public" listener is
configured to listen on 0.0.0.0 (IPv4) and :: (IPv6). If you don't change these
to your actual public IP addresses, you will likely get "address in use" errors
when starting mox because the "internal" listener binds to a specific IP
address on the same port(s).
`)
}
fmt.Printf("\n")
user := "mox"