Je sais qu'une IP dédiée est nécessaire pour configurer SSL. Que se passe-t-il si nous ajoutons SSL pour les domaines partageant une IP? (Namevirtualhost)
apache-2.2
ssl
https
certificate
nitines
la source
la source
Réponses:
Je pense que c'est une bonne idée comment expliquer le vrai problème avec les hôtes virtuels et SSL / TLS.
Lorsque vous vous connectez à un serveur apache via HTTP, vous envoyez un ensemble d'en-têtes http. Ils ressemblent à ceci:
Si vous disposez d'un hébergement virtuel, Apache examinera le champ des hôtes, puis récupérez le bon index.html pour vous. Le problème est lorsque vous ajoutez SSL / TLS. Le serveur configure le cryptage avant d'envoyer votre demande http. Par conséquent, le serveur ne sait pas si vous allez sur www.nice-puppies.com ou www.evil-haxxor.com tant que l'authentification / le cryptage n'est pas terminé. Le serveur ne peut pas deviner (car l'envoi du mauvais certificat vous donne un mauvais message d'erreur).
Une solution est un certificat générique (comme mentionné ci-dessus), qui est valable pour * .nice-puppies.com. De cette façon, vous pouvez utiliser le même certificat pour plusieurs domaines, mais vous ne pouvez pas avoir un certificat * .com (d'accord, vous pouvez, mais ce serait très mauvais pour tout le monde), donc en général, vous aurez besoin d'une IP distincte pour chacun Domaine HTTPS.
la source
La vraie solution à ce problème est "Indication du nom du serveur":
http://en.wikipedia.org/wiki/Server_Name_Indication
Cela ne fait que commencer à être déployé sur les serveurs et les clients Web, donc ce n'est pas vraiment quelque chose que vous pouvez utiliser maintenant, mais j'espère que dans quelques années, ce ne sera pas un problème aussi important.
la source
Le problème est que le certificat SSL est lié à l'adresse IP et non au nom d'hôte. Lorsque la connexion entre sur l'adresse IP d'une demande HTTPS, la première action consiste à établir la communication SSL en transmettant le certificat de serveur et / ou le certificat client. Au cours de cette étape de l'établissement de la connexion, le serveur Apache n'a aucun moyen de savoir à quoi sert la demande sur le point de passer. Ceci est différent pour le trafic HTTP (non SSL) car une fois la connexion établie, le serveur Apache peut déterminer la configuration de l'hôte virtuel à utiliser si le client envoie l'en-
Host
tête ou bien il le remet au premier hôte virtuel configuré.Si vous aviez plusieurs hôtes virtuels sous le même domaine, vous pourriez configurer un seul certificat générique sur l'adresse IP et avoir plusieurs hôtes virtuels avec différents noms de serveur définis; cependant, si ces noms de serveur ne sont pas sous le même nom de domaine, ils généreraient des erreurs de serveur client. Cela fonctionnerait car le certificat générique serait valide pour tous les noms d'hôte sous ce nom de domaine. Vous auriez besoin d'une autre adresse IP si les noms de domaine étaient différents car le premier certificat défini pour cette adresse IP serait celui présenté pour la connexion des clients.
la source
Cela peut être ajouté dans un seul certificat SSL comme SAN (Subject Alternative Name). Dans mon expérience, j'ai dû demander un certificat sll d'organisation. j'ai utilisé globalsign.
la source
En fait, avec un logiciel moderne, vous POUVEZ servir plusieurs sites HTTPS sur une seule adresse IP, en utilisant une nouvelle fonctionnalité appelée «SNI - Server Name Indication».
http://en.wikipedia.org/wiki/Server_Name_Indication
http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI
Je n'ai pas encore utilisé cela moi-même, mais cela semble bon pour les sites internes et intranet. La plupart des navigateurs modernes prennent en charge SNI. IE6 ne prend pas en charge SNI, mais IE7 le fait.
(Correction: 20100426 - SNI n'est pas du tout pris en charge sur Windows XP. Windows Vista et versions ultérieures prennent en charge SNI. Voir «Section 2.2.3» sur http://msdn.microsoft.com/en-us/library/dd208005% 28v = PROT.13% 29.aspx # id8 ).
la source
Je travaille sur le même problème. Comme test, IE7 et versions ultérieures (uniquement sous Win7 et Vista) / Chrome / Firefox / Safari / Opera prennent en charge "Server Name Indication". En fait, si le navigateur utilise Tsl 1.0, il prend en charge "Indication du nom du serveur".
la source
Je pense que l'OP demande ce qui se passe s'il ajoute un certificat SSL à une IP qui a de nombreux hôtes virtuels. Si aucun des autres hôtes virtuels n'utilise un certificat SSL, il doit être en clair.
la source
Un certificat UC est certainement la voie à suivre: http://www.sslshopper.com/unified-communications-uc-ssl-certificates.html
la source
Si vous essayez d'ajouter deux certificats sur la même IP, seul le premier certificat lu sera utilisé partout. Un IP - un certificat SSL.
Si vous souhaitez obtenir plus de certificats SSL sur la même IP, pensez à obtenir un certificat à domaines multiples (appelé UCC - consultez @ godaddy ) ou un certificat générique (plus cher).
la source