diff --git a/derp/derphttp/derphttp_client.go b/derp/derphttp/derphttp_client.go index a6d49f54ff7c4..fb6e321bcd536 100644 --- a/derp/derphttp/derphttp_client.go +++ b/derp/derphttp/derphttp_client.go @@ -990,7 +990,12 @@ func (c *Client) dialNodeUsingProxy(ctx context.Context, n *tailcfg.DERPNode, pr } }() - target := net.JoinHostPort(n.HostName, "443") + // Keep port selection in sync with dialNode. + port := "443" + if n.DERPPort != 0 { + port = fmt.Sprint(n.DERPPort) + } + target := net.JoinHostPort(n.HostName, port) var authHeader string if v, err := tshttpproxy.GetAuthHeader(pu); err != nil {