Environnement RELAYWS¶
Serveur utilisé dans le mode WebSocket de Reemo, il s’articule autour d’un cluster Swarm pour proposer des conteneurs de relais différents à chaque connexion à un conteneur ou un remote desktop
Fonctionnement¶
L’environnement RELAYWS est utilisé lorsqu’un client souhaite déployer l’infrastructure Reemo sans utiliser WebRTC pour établir la connexion entre les utilisateurs et les ressources (postes de travail, conteneurs, machines virtuelles etc.).
RELAYWS repose sur un mécanisme de relai en WebSocket. Pour chaque connexion utilisateur, un conteneur est déployé à la volée afin de servir de relai dédié.
L’utilisateur demande l’accès à une ressource (ex. un conteneur RBI).
RELAYWS crée un conteneur de relai spécifique à cette connexion.
Ce conteneur agit comme un serveur WebSocket :
l’utilisateur s’y connecte,
la ressource cible (poste de travail, conteneur, VM) s’y connecte également.
Le conteneur relai transfère ensuite les paquets dans les deux sens, assurant la communication entre l’utilisateur et la ressource.
Important
Ce modèle permet d’isoler chaque connexion dans un conteneur dédié, garantissant une séparation claire des flux et une meilleure résilience de l’infrastructure.
Un service Nginx écoute sur le port par défaut HTTPS 8443 + un Service Traefik sur le port par défaut HTTPS 443
Communication¶
Le serveur Infra par le biais du service ProRelayAPI discute avec le service Nginx pour la création/suppression des conteneurs, et avec le service Traefik pour valider l’etat de chacun des conteneurs Relais
A chaque communication établie, un conteneur relai est crée puis détruit à la fin de la connexion
Clustering¶
Le serveur RelayWS peut fonctionner en mode Clustering, il est préférable de n’avoir que des Nodes Manager dans un souci d’optimisation