diff --git a/client/selector/router/router.go b/client/selector/router/router.go index ada33595..7f391f5b 100644 --- a/client/selector/router/router.go +++ b/client/selector/router/router.go @@ -162,7 +162,10 @@ func (r *routerSelector) Select(service string, opts ...selector.SelectOption) ( route := routes[idx%len(routes)] // defaults to gateway and no port - address := route.Gateway + address := route.Address + if len(route.Gateway) > 0 { + address = route.Gateway + } // return as a node return ®istry.Node{ diff --git a/network/proxy/mucp/mucp.go b/network/proxy/mucp/mucp.go index 22f04bc9..101f5f2a 100644 --- a/network/proxy/mucp/mucp.go +++ b/network/proxy/mucp/mucp.go @@ -84,7 +84,11 @@ func (p *Proxy) getRoute(service string) ([]string, error) { toNodes := func(routes []table.Route) []string { var nodes []string for _, node := range routes { - nodes = append(nodes, node.Gateway) + address := node.Address + if len(node.Gateway) > 0 { + address = node.Gateway + } + nodes = append(nodes, address) } return nodes }