X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/04666c2304ea7700243756cfb0278cc139e969ce..2df5de69d74ab1fbf1fbcec23d392193522b0364:/lib/service/cmd.go diff --git a/lib/service/cmd.go b/lib/service/cmd.go index b5e395bec8..9e45e0f7e8 100644 --- a/lib/service/cmd.go +++ b/lib/service/cmd.go @@ -273,7 +273,15 @@ func getListenAddr(svcs arvados.Services, prog arvados.ServiceName, log logrus.F // intermediate proxy/routing) listenURL = internalURL } - listener, err := net.Listen("tcp", listenURL.Host) + listenAddr := listenURL.Host + if _, _, err := net.SplitHostPort(listenAddr); err != nil { + // url "https://foo.example/" (with no + // explicit port name/number) means listen on + // the well-known port for the specified + // protocol, "foo.example:https". + listenAddr = net.JoinHostPort(listenAddr, listenURL.Scheme) + } + listener, err := net.Listen("tcp", listenAddr) if err == nil { listener.Close() return listenURL, internalURL, nil