Est-il possible pour un serveur Web de sélectionner un certificat SSL à utiliser en fonction de l'en-tête d'hôte de la connexion entrante, ou ces informations ne sont-elles disponibles qu'une fois la connexion SSL établie?
Autrement dit, mon serveur Web peut-il être répertorié sur le port 443 et utiliser le certificat foo.com si https://foo.com est demandé, et le certificat bar.com si https://bar.com est demandé ou j'essaie de le faire quelque chose d'impossible car le serveur doit établir une connexion SSL avant de savoir ce que veut le client?
la source
Pour étendre la réponse de Warner: page de CAcert, Vhost Task Force compare plusieurs méthodes d'utilisation de plusieurs domaines sur un même serveur. J'utilise personnellement l' indication du nom du serveur .
la source
Réponse courte: non
HTTP est encapsulé dans SSL , donc toute information sur la demande est inaccessible jusqu'à ce que la connexion soit établie. D'où jusqu'à ce qu'un certificat soit remis au client. Aucun moyen d'utiliser les en-têtes ni aucune autre information chiffrée, car ils ne sont toujours pas disponibles.
EDIT: ceci est vrai si vous voulez de nos jours être multi-navigateur et entièrement portable. Comme d'autres l'ont dit, de nouvelles méthodes émergentes le permettent dans un avenir proche.
la source
Correct. La connexion SSL est établie avant l'envoi de toute partie de la demande HTTP (en-tête d'hôte inclus).
la source