Nous avons une application de test en ligne qui est utilisée par les étudiants. nous avons 4 serveurs différents et un Nginx au-dessus d'eux pour équilibrer le trafic entre les 4 serveurs. Comme notre application a besoin d'une session collante (pour un utilisateur, toutes les requêtes à un serveur), j'ai donc activé l'algorithme ip_hash pour l'équilibrage de charge.Nginx Load Balancer (ip_hash) envoyant tout le trafic à un seul serveur
Maintenant, nous avons une situation où tous les étudiants apparaissent pour un test en ligne dans un laboratoire informatique qui a IP privé attribué à chaque système et Tous passent par une passerelle Internet avec IP publique.
Maintenant, lorsque les étudiants apparaissent pour l'équilibreur de charge de test, ils obtiennent la même adresse IP d'origine pour tous les étudiants et, en raison de ip_hash, ils envoient tout le trafic à un serveur.
comment résoudre ce problème?
Nous avons maintenir la session Sticky avec répartition égale de la charge.
Merci pour la réponse rapide. Mais j'ai la version gratuite de nginx. Puis-je utiliser JSESSIONID à partir de l'en-tête de réponse avec hachage pour l'équilibrage de charge. Ceci est l'en-tête de réponse: ** Set-Cookie: JSESSIONID = DD622D9F8108FA00CEEADDBCC6E91B1C; Chemin = /; HttpOnly ** –