Unable to complete SSL connection on a gamelift fleet with Linux OS

Hello, I’m new to gamelift and I’m trying to implement it with my unity game, matchmaking seems to work fine with Windows build on Windows OS fleet, but when I make linux build and create linux OS fleet I get “Unable to complete SSL connection” while executing UnityWebRequest:

ReservedPlayersCount: 4
Connected: 1
Config: [OK], connection: 1, checksum: 0
GameLift.AcceptPlayerSession : [OK]
Authorized: [OK], connection: 1, gid: d1e24a64-bb1c-43d0-af49-ba832e91e099, lid: 2
Joined: [OK], connection: 1, gid: d1e24a64-bb1c-43d0-af49-ba832e91e099, lid: 2
Gcs.player-profiles-operation: [FAIL], Unable to complete SSL connection
Connected: 2
Config: [OK], connection: 2, checksum: 0
GameLift.AcceptPlayerSession : [OK]
Authorized: [OK], connection: 2, gid: dd858677-1a60-4951-a991-11a5156a7bfe, lid: 1
Joined: [OK], connection: 2, gid: dd858677-1a60-4951-a991-11a5156a7bfe, lid: 1
Gcs.player-profiles-operation: [FAIL], Unable to complete SSL connection
Connected: 3
Config: [OK], connection: 3, checksum: 0
GameLift.AcceptPlayerSession : [OK]
Authorized: [OK], connection: 3, gid: b3c53b31-e0bc-4226-a0c0-61a9265b3d28, lid: 3
Joined: [OK], connection: 3, gid: b3c53b31-e0bc-4226-a0c0-61a9265b3d28, lid: 3
Gcs.player-profiles-operation: [FAIL], Unable to complete SSL connection
Connected: 4
Config: [OK], connection: 4, checksum: 0
GameLift.AcceptPlayerSession : [OK]
Authorized: [OK], connection: 4, gid: 9d9f3670-0de2-4f5d-8e77-c3cc8a9597bc, lid: 4
Joined: [OK], connection: 4, gid: 9d9f3670-0de2-4f5d-8e77-c3cc8a9597bc, lid: 4
Gcs.player-profiles-operation: [FAIL], Unable to complete SSL connection

Anyone else encountered trouble with Linux fleets?

Just to be clears are you seeing these problems with the client -> server connections? Or a connection from the server to something else ie GameLift?

Looks like the later which would indicate a problem, most likely, with root ca certs on the Linux machine and ensuring they are in the Unity/Mono trust store.

You could attach a custom certificate handler to UnityWebRequest and manually validate the certificate data to see whats going on. You can also override certificate validation in the short term to unblock yourself.

There some really good threads on debugging these types of issues on the Unity forums
https://forum.unity.com/threads/unitywebrequest-does-not-work-on-linux-dedicated-server.630865/

https://forum.unity.com/threads/unitywebrequest-unable-to-complete-ssl-connection.566380/

I would suspect Unity forums are likely the fastest route to solving this because the way certs/root CA certs handled and all the networking stack/set-up is on the Unity side.

1 Like

Thank you, first link helped me to solve the problem, by adding custom install.sh

#!/bin/bash

sudo chmod 755 install.sh

sudo mkdir -p /etc/ssl/certs

cd /etc/ssl/certs

sudo ln -s /etc/pki/tls/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt