2009-03-23 5 views
3

Vous recherchez les meilleures pratiques ici. Nous traitons la connexion SSL à notre niveau d'équilibreur de charge et par conséquent toute la connexion de notre équilibreur de charge à nos serveurs Web est http. Avec cela, nous n'avons aucun moyen de dire quel type de connexion le client fait à notre serveur web, car toute connexion est via http. Nous avons actuellement 2 solutions, l'une est d'avoir l'équilibreur de charge pour ajouter un numéro de port dans la chaîne URL afin que nous puissions déterminer le type de demande (ex: 80 pour http et 443 pour https). L'autre solution consiste pour l'équilibreur de charge à ajouter un en-tête spécial lorsqu'il reçoit une requête https afin que les serveurs Web connaissent le type de connexion.Déterminer la connexion SSL derrière un équilibreur de charge

Voyez-vous des inconvénients dans les deux solutions? Existe-t-il une meilleure pratique concernant SSL appliqué au niveau de l'équilibreur de charge au lieu du niveau du serveur Web?

Répondre

1

Je préférerais l'en-tête, je pense. L'ajout de quelque chose dans l'URL crée la possibilité, même minuscule, que vous allez entrer en collision avec un paramètre de chaîne de requête qu'une application souhaite utiliser. Un en-tête personnalisé serait plus facile. Une troisième option pourrait être de rediriger les connexions ssl vers un port différent, disons 8080, donc à l'arrière, vous savez que les connexions du port 80 étaient http pour commencer, et les connexions du port 8080 étaient 443 pour commencer, même mais ils sont tous les deux http à ce moment.

1

Je suggère d'utiliser l'en-tête. Un concept connexe consiste à déterminer l'adresse IP du client (à des fins de consignation), car toutes les demandes adressées à votre serveur Web semblent provenir de l'équilibreur de charge. L'en-tête x-forwarded-for est utilisé habituellement ici.

Questions connexes