Connect to Nakama with https instead of http

Hello, I was wondering if anyone here know how to connect to the Nakama server with https.
When I tried changing http to https in Godot it’s says “HTTPRequest failed!”, and I can’t find anything in the Nakama documentation on it.

1 Like

@RandomDuck You’ll need to set up an SSL certificate and either configure Nakama to do SSL negotiation (not recommended especially not in production) or set up a load balancer that does the SSL termination.

You cannot just set “https” instead of “http” as the protocol scheme and have the client SDK work. Unfortunately this is not how SSL works. I recommend you look at a service like LetsEncrypt which can issue you a certificate to use for free.

2 Likes

Hello,
First off, thank you for making the Nakama software available for everyone!! I followed some tutorials and have Nakama setup and working with Godot. Everything works when connecting to the Nakama Server over http, but when attempting to connect over https with the same nginx reverse configuration but with the listen ssl flags and the letsencrypt cert and key locations added in I get an HTTPRequest fialed error from godot when trying to connect? Any ideas on what I might be doing wrong?

Edit: Okay well it’s working now. I thought I had it working before. The funny thing is that I’m not sure I changed anything in my configuration. it appears it was connecting and then later with the same config it wasn’t.

Edit 2: Okay looks like I found the issue. Using CloudFlare DNS resolver I had the Proxy Status set to Proxied which is the default. It needs to be set to DNS only to work properly. Of course it takes some time to propagate which made it hard to figure out what was causing it.

if use the load balance, such as AWS Network Load Balance, do we need some config for nakama? base on the current test, after change HTTP to https with load balance, the Nakama Console does not work. not sure HTTP and gRPC protocol works

We cannot advise on custom infrastructure and deployments, there is simply too many variants to consider. I’d highly recommend taking a look at Heroic Cloud where SSL is handled for you already.