[GH-ISSUE #4854] NetBird client v0.60.0+ fails to connect (“missing port in address”) #10254

Open
opened 2026-08-05 01:25:10 -04:00 by saavagebueno · 6 comments
Owner

Originally created by @xunder-matth on GitHub (Nov 25, 2025).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/4854

I've updated my NetBird client from v0.59.13 to v0.60.2 and I'm now unable to set-up a peer. I've updated my management server and I have all the latest Docker images (dash, signal, management etc.).

My NetBird services are hosted in Docker and I use nginx to serve them publicly.

I'm still able to set-up new peers using Setup keys by using command $ netbird up -m https://netbird.example.tld -k KEY but this only works with version 0.59.13 (and 0.59.12) but not with 0.60.0+.

In client log, with version 0.60.0+ I get following errors/warnings:

2025-11-25T09:03:19+01:00 INFO client/internal/connect.go:124: starting NetBird client version 0.60.2 on windows/amd64
2025-11-25T09:03:19+01:00 INFO client/net/env_windows.go:41: system supports advanced routing
2025-11-25T09:03:20+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:20 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:03:21+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:21 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:03:22+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:22 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:03:25+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:25 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:03:30+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:30 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:03:36+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:36 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:03:46+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:46 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:03:50+01:00 ERRO shared/signal/client/grpc.go:70: failed to connect to the signalling server: create connection: dial context: context deadline exceeded
2025-11-25T09:03:50+01:00 ERRO client/internal/connect.go:496: error while connecting to the Signal Exchange Service netbird.example.tld: create connection: dial context: context deadline exceeded
2025-11-25T09:03:50+01:00 ERRO client/internal/connect.go:232: rpc error: code = FailedPrecondition desc = failed connecting to Signal Service : create connection: dial context: context deadline exceeded
2025-11-25T09:03:50+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:50 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:03:51+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:51 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:03:53+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:53 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:03:56+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:56 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:04:00+01:00 INFO ./caller_not_available:0: 2025/11/25 09:04:00 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:04:05+01:00 INFO ./caller_not_available:0: 2025/11/25 09:04:05 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:04:16+01:00 INFO ./caller_not_available:0: 2025/11/25 09:04:16 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address"
2025-11-25T09:04:20+01:00 ERRO shared/signal/client/grpc.go:70: failed to connect to the signalling server: create connection: dial context: context deadline exceeded
2025-11-25T09:04:20+01:00 ERRO client/internal/connect.go:496: error while connecting to the Signal Exchange Service netbird.example.tld: create connection: dial context: context deadline exceeded
2025-11-25T09:04:20+01:00 ERRO client/internal/connect.go:232: rpc error: code = FailedPrecondition desc = failed connecting to Signal Service : create connection: dial context: context deadline exceeded
Originally created by @xunder-matth on GitHub (Nov 25, 2025). Original GitHub issue: https://github.com/netbirdio/netbird/issues/4854 I've updated my NetBird client from v0.59.13 to v0.60.2 and I'm now unable to set-up a peer. I've updated my management server and I have all the latest Docker images (dash, signal, management etc.). My NetBird services are hosted in Docker and I use nginx to serve them publicly. I'm still able to set-up new peers using Setup keys by using command `$ netbird up -m https://netbird.example.tld -k KEY` but this only works with version 0.59.13 (and 0.59.12) but not with 0.60.0+. In client log, with version 0.60.0+ I get following errors/warnings: ``` 2025-11-25T09:03:19+01:00 INFO client/internal/connect.go:124: starting NetBird client version 0.60.2 on windows/amd64 2025-11-25T09:03:19+01:00 INFO client/net/env_windows.go:41: system supports advanced routing 2025-11-25T09:03:20+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:20 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:03:21+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:21 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:03:22+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:22 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:03:25+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:25 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:03:30+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:30 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:03:36+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:36 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:03:46+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:46 WARNING: [core] [Channel #19 SubChannel #20]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:03:50+01:00 ERRO shared/signal/client/grpc.go:70: failed to connect to the signalling server: create connection: dial context: context deadline exceeded 2025-11-25T09:03:50+01:00 ERRO client/internal/connect.go:496: error while connecting to the Signal Exchange Service netbird.example.tld: create connection: dial context: context deadline exceeded 2025-11-25T09:03:50+01:00 ERRO client/internal/connect.go:232: rpc error: code = FailedPrecondition desc = failed connecting to Signal Service : create connection: dial context: context deadline exceeded 2025-11-25T09:03:50+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:50 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:03:51+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:51 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:03:53+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:53 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:03:56+01:00 INFO ./caller_not_available:0: 2025/11/25 09:03:56 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:04:00+01:00 INFO ./caller_not_available:0: 2025/11/25 09:04:00 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:04:05+01:00 INFO ./caller_not_available:0: 2025/11/25 09:04:05 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:04:16+01:00 INFO ./caller_not_available:0: 2025/11/25 09:04:16 WARNING: [core] [Channel #24 SubChannel #25]grpc: addrConn.createTransport failed to connect to {Addr: "netbird.example.tld", ServerName: "netbird.example.tld", BalancerAttributes: {"<%!p(pickfirstleaf.managedByPickfirstKeyType={})>": "<%!p(bool=true)>" }}. Err: connection error: desc = "transport: Error while dialing: nbnet.NewDialer().DialContext: dial tcp: address netbird.example.tld: missing port in address" 2025-11-25T09:04:20+01:00 ERRO shared/signal/client/grpc.go:70: failed to connect to the signalling server: create connection: dial context: context deadline exceeded 2025-11-25T09:04:20+01:00 ERRO client/internal/connect.go:496: error while connecting to the Signal Exchange Service netbird.example.tld: create connection: dial context: context deadline exceeded 2025-11-25T09:04:20+01:00 ERRO client/internal/connect.go:232: rpc error: code = FailedPrecondition desc = failed connecting to Signal Service : create connection: dial context: context deadline exceeded ```
saavagebueno added the triage-needed label 2026-08-05 01:25:10 -04:00
Author
Owner

@ressys1978 commented on GitHub (Nov 25, 2025):

@xunder-matth

According to the documentation, you're supposed to specify a port with the management URL.

-m, --management-url string Management Service URL [http|https]://[host]:[port] (default "https://api.wiretrustee.com:443")

If you specify the port, does it work?

<!-- gh-comment-id:3575316298 --> @ressys1978 commented on GitHub (Nov 25, 2025): @xunder-matth According to the [documentation](https://docs.netbird.io/get-started/cli), you're supposed to specify a port with the management URL. > -m, --management-url string Management Service URL [http|https]://[host]:[port] (default "https://api.wiretrustee.com:443") If you specify the port, does it work?
Author
Owner

@xunder-matth commented on GitHub (Nov 25, 2025):

@ressys1978

Prior to posting this issue I already observed that ":433" is automatically appended in my config JSON file. I've also tried explicitly passing it along side URL with -m flag but without luck. I'm still getting "missing port in address" errors.

<!-- gh-comment-id:3575435218 --> @xunder-matth commented on GitHub (Nov 25, 2025): @ressys1978 Prior to posting this issue I already observed that ":433" is automatically appended in my config JSON file. I've also tried explicitly passing it along side URL with `-m` flag but without luck. I'm still getting "missing port in address" errors.
Author
Owner

@PowershellScripter commented on GitHub (Nov 29, 2025):

I can confirm this is true, but figured out why its happening. The "--management-url" switch is not being respected. To test this in my self hosted environment, I deregistered my netbird client, deleted all files linked to my env and reinstalled netbird 0.60.4 and let it recreate the built-in default.json profile. The proceeded to use my setup key with

netbird up --management-url 'https://vpn.instrata.com' --setup-key 'E7D92XXX-6BA5-XXXX-82C0-3EB124BAXXXX' --hostname $ENV:COMPUTERNAME

And it gave me the error

2025-11-29T12:19:18-07:00 WARN client/cmd/up.go:261: setConfig method is not available in the daemon Error: daemon up failed: login failed: rpc error: code = NotFound desc = couldn't add peer: setup key is invalid

So, I then took a copy of my known good JSON config I backed up with the proper ManagementURL of my self hosted environment already baked in (replacing the default one netbird creates), and once I ran the same "netbird up" command from above, it understood that the setup key I was using was proper because it was directing it to MY management URL and not netbirds cloud environment (which is set by default in the default JSON config), and connected without issue.

The new versions of the clients are respecting the config params and essentially ignoring anything put in the switches. This is something I submitted an issue with the NB Team over. Either stick with config options, switch options or ENV variables, but having a mix of all 3 is causing chaos, especially when some switches are depricated, but still exist in the codebase so instead of saying the switch is invalid, it says its depricated and to use the new method.

<!-- gh-comment-id:3591894187 --> @PowershellScripter commented on GitHub (Nov 29, 2025): I can confirm this is true, but figured out why its happening. The "--management-url" switch is not being respected. To test this in my self hosted environment, I deregistered my netbird client, deleted all files linked to my env and reinstalled netbird 0.60.4 and let it recreate the built-in default.json profile. The proceeded to use my setup key with `netbird up --management-url 'https://vpn.instrata.com' --setup-key 'E7D92XXX-6BA5-XXXX-82C0-3EB124BAXXXX' --hostname $ENV:COMPUTERNAME` And it gave me the error `2025-11-29T12:19:18-07:00 WARN client/cmd/up.go:261: setConfig method is not available in the daemon Error: daemon up failed: login failed: rpc error: code = NotFound desc = couldn't add peer: setup key is invalid` So, I then took a copy of my known good JSON config I backed up with the proper ManagementURL of my self hosted environment already baked in (replacing the default one netbird creates), and once I ran the same "netbird up" command from above, it understood that the setup key I was using was proper because it was directing it to MY management URL and not netbirds cloud environment (which is set by default in the default JSON config), and connected without issue. The new versions of the clients are respecting the config params and essentially ignoring anything put in the switches. This is something I submitted an issue with the NB Team over. Either stick with config options, switch options or ENV variables, but having a mix of all 3 is causing chaos, especially when some switches are depricated, but still exist in the codebase so instead of saying the switch is invalid, it says its depricated and to use the new method.
Author
Owner

@xunder-matth commented on GitHub (Dec 1, 2025):

@PowershellScripter this doesn't look like the error I’m encountering. For me, the issue occurs here: 43c9a51913/client/grpc/dialer_generic.go (L37)

On the first dial attempt, addr is vpn.example.tld:443, but on the second attempt it becomes vpn.example.tld without :443. I managed to fix this by appending :443 if it’s missing, right before the conn, err := nbnet.NewDialer().DialContext(ctx, "tcp", addr) line.

if !strings.HasSuffix(addr, ":443") {
    addr = addr + ":443"
}

PS. This is temporary solution and I don't know if it has any side effects.

<!-- gh-comment-id:3595910625 --> @xunder-matth commented on GitHub (Dec 1, 2025): @PowershellScripter this doesn't look like the error I’m encountering. For me, the issue occurs here: https://github.com/netbirdio/netbird/blob/43c9a519131ef69c86c74a8d6a579e4f2c1d236d/client/grpc/dialer_generic.go#L37 On the first dial attempt, `addr` is `vpn.example.tld:443`, but on the second attempt it becomes `vpn.example.tld` without `:443`. I managed to fix this by appending `:443` if it’s missing, right before the `conn, err := nbnet.NewDialer().DialContext(ctx, "tcp", addr)` line. ```go if !strings.HasSuffix(addr, ":443") { addr = addr + ":443" } ``` PS. This is temporary solution and I don't know if it has any side effects.
Author
Owner

@PowershellScripter commented on GitHub (Dec 1, 2025):

@xunder-matth Odd. Seems the newer version is causing multiple issues then.

<!-- gh-comment-id:3597616391 --> @PowershellScripter commented on GitHub (Dec 1, 2025): @xunder-matth Odd. Seems the newer version is causing multiple issues then.
Author
Owner

@opbonachera commented on GitHub (Jan 8, 2026):

Hello

I was having the same problem and in my case, the signal service was NOT listening in the container port that was stated in the docker-compose.yml file. The workaround was exposing the signal service on its native port like this:

signal: ports: - "10000:10000" command: [ "--port", "10000", "--cert-file", "/etc/letsencrypt/live/*****/fullchain.pem", "--cert-key", "/etc/letsencrypt/live/*****/privkey.pem", "--log-file", "console" ]

Hope it helps somebody!

<!-- gh-comment-id:3724417660 --> @opbonachera commented on GitHub (Jan 8, 2026): Hello I was having the same problem and in my case, the signal service was NOT listening in the container port that was stated in the docker-compose.yml file. The workaround was exposing the signal service on its native port like this: `signal: ports: - "10000:10000" command: [ "--port", "10000", "--cert-file", "/etc/letsencrypt/live/*****/fullchain.pem", "--cert-key", "/etc/letsencrypt/live/*****/privkey.pem", "--log-file", "console" ]` Hope it helps somebody!
Sign in to join this conversation.
No Label triage-needed
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#10254