Flutter/dart client can't negotiate digital ocean load balancers

after successfully developing a Unity game using nakama hosted on Digital Ocean, I’m working on a flutter application and wanted to use Nakama as the backend, mainly for authentication, account management, and storage. I am experiencing problems getting my client build, using the dart nakama package ^1.0.0-dev.6, to connect to the nakama droplet when using a digital ocean ssl terminated (lets encrypt) load balancer.
This is the error I get:
gRPC Error (code: 14, codeName: UNAVAILABLE, message: Error connecting: SocketException: Connection timed out (OS Error: Connection timed out, errno = 110), address = lyrikoprodapi.space, port = 54984, details: null, rawResponse: null, trailers: {})

Nakama Server version: 3.22.0+d1b8c1f0

When I connect the client directly to the droplet without SSL, it works fine. I’ve also tried connecting the client to the production environment of our Unity app via load balancer, and get the same error. The Unity client is working fine, so it seems this is an issue with the dart client library.

My load balancer rules forward https 443 through to the server http 7350, and https 8443 to http 7351. The console rules work fine, but I can’t connect the nakama client.

NB This is for an android build. A web build works as expected.

Anyone else experience this? And idea how to solve?

Any progress on this?
I’m currently also developing with Flutter/Nakama.

It for me. I switched to pocket base as I couldn’t figure this out.

I’ll let you know how it goes when I deploy mine (~4-5 weeks)

gRPC socket for Nakama is port 7349 not 7350. You’ll also have to make sure that Digital Ocean LB supports gRPC and HTTP/2.