Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.
C’est alors la barrière de la prise en main qui fait peur, et pourtant...
Les logiciels libres
L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.
Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.
Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.
Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.
- Avril 2017 -
Le problème avec les sessions HTTP c’est qu’elles sont complètement décorrélées des sessions TCP. Sans load balancer, ce n’est pas un problème, par contre dans une architecture multi serveur, un utilisateur peut être redirigé vers un serveur web qui n’est pas au courant de la session HTTP. Ce cas se produit typiquement avec un algorithme de type round robin.
Ainsi, un utilisateur peut lors de la première connexion être authentifié sur un serveur puis lors de l’accès suivant être redirigé vers le second serveur moins chargé.
Habituellement, pour gérer ce type de situation :
- On utilise un système de cache partagé entre les serveurs pour gérer les sessions : base de données, memcache, système de fichier
- L’application gère nativement le mode cluster
- Pour une même IP source, on redirige systématiquement vers le même backend
HAProxy est capable de proposer un autre mode en exploitant la persistance des sessions habituellement utilisée par les applications Web, les cookies HTTP. Pour ce faire, il faut impérativement utiliser le mode http de haproxy et non pas le mode tcp.
Deux façons de faire, ma préférée consiste à réutiliser le cookie d’authentification qui doit être le même pour toutes les applications. Le cookie (PHPSESSID dans cet exemple), est préfixé du backend (s1/s2) entre le navigateur et le load balancer. Cette marque est retirée lors des communications Haproxy vers serveur web :
frontend ft_http
bind 10.4.102.10:80
mode http
default_backend bk_http
backend bk_http
mode http
balance source
hash-type consistent
cookie PHPSESSID prefix nocache
server s1 10.4.102.5:80 check cookie s1
server s2 10.4.102.6:80 check cookie s2
Dans le second mode, HAProxy va insérer un cookie (BACKENDID) qui sera utilisé lors des communications ultérieures entres le navigateur et le load balancer pour aiguiller les communications proprement.
frontend ft_http
bind 0.0.0.0:80
mode http
default_backend bk_http
backend bk_http
mode http
balance source
hash-type consistent
cookie BACKENDID insert indirect nocache
server s1 10.0.0.10:80 check cookie s1
server s2 10.0.0.20:80 check cookie s2

Original post of Morot.Votez pour ce billet sur Planet Libre.