Yanıtlar:
Sanal ana bilgisayarlar ve SSL / TLS ile sorunun gerçekten ne olduğunu açıklamanın iyi bir fikir olduğunu düşünüyorum.
HTTP üzerinden bir apache sunucusuna bağlandığınızda, birlikte bir dizi http başlığı gönderirsiniz. Buna benziyorlar:
GET /index.html HTTP/1.1
Host: www.nice-puppies.com
Sanal barındırma apache'niz varsa ana bilgisayarlar alanına bakacak, sonra sizin için doğru index.html dosyasını getirin. Sorun, SSL / TLS eklediğiniz zamandır. Sunucu, http isteğinizi göndermeden önce şifrelemeyi ayarlar. Bunun için sunucu, www.nice-puppies.com veya www.evil-haxxor.com adresine, kimlik doğrulama / şifreleme tamamlanana kadar devam edip edemeyeceğinizi bilmiyor. Sunucu tahmin edemez (yanlış sertifikanın gönderilmesi size kötü bir hata mesajı verir).
Çözümlerden biri * .nice-puppies.com için geçerli olan joker bir sertifikadır (yukarıda belirtildiği gibi). Bu şekilde birden fazla etki alanı için aynı sertifikayı kullanabilirsiniz, ancak bir * .com sertifikasına sahip olamazsınız (tamam, yapabilirsiniz ama herkes için çok kötü olurdu), bu nedenle genel olarak her biri için ayrı bir IP’ye ihtiyacınız olacaktır. HTTPS alanı.
Bu sorunun asıl çözümü "Sunucu Adı Göstergesi" dir:
http://en.wikipedia.org/wiki/Server_Name_Indication
Sadece sunuculara ve web istemcilerine yayılmaya başlıyor, bu yüzden şu anda kullanabileceğiniz bir şey değil, umarım birkaç yıl içinde bu bir sorun olmayacaktır.
Sorun, SSL sertifikasının ana bilgisayar adına değil IP adresine bağlı olmasıdır. Bağlantı bir HTTPS isteğinin IP adresine girdiğinde ilk eylem, sunucu sertifikası ve / veya müşteri sertifikasını ileterek SSL iletişimini kurmaktır. Bağlantının bu aşaması sırasında Apache sunucusunun gelmek üzere olan isteğin ne için olduğunu bilmenin bir yolu yoktur. Bağlantı kurulduktan sonra HTTP (SSL olmayan) trafik için farklıdır. Apache sunucusu, istemci Host
başlığı gönderirse kullanılacak sanal ana bilgisayar yapılandırmasını belirleyebilir veya başka bir şekilde yapılandırılan ilk sanal ana bilgisayara verir.
Aynı etki alanı altında birden fazla sanal ana bilgisayarınız varsa, IP adresine tek bir joker karakter sertifikası kurabilir ve tanımlanmış farklı sunucu adlarına sahip birden fazla sanal ana bilgisayara sahip olabilirsiniz; Ancak, bu sunucu adları aynı etki alanı adı altında değilse, istemci sunucu hataları oluştururlar. Bu, joker karakter sertifikası, bu etki alanı adı altındaki tüm ana bilgisayar adları için geçerli olacağından işe yarar. Etki alanı adları, söz konusu IP adresi için tanımlanan ilk sertifikanın istemcileri bağlamak için sunulanlardan farklı olması durumunda, başka bir IP adresine ihtiyacınız olacaktır.
Bu SAN olarak tek bir ssl sertifikasına eklenebilir (Konu Alternatif Adı). Tecrübem dışında bir organizasyon sll sertifikası istemek zorunda kaldım. globalsign kullandım.
Aslında, modern yazılımla, 'SNI - Sunucu Adı Göstergesi' adı verilen yeni bir özelliği kullanarak, tek bir IP adresi üzerinden birden fazla HTTPS sitesine hizmet verebilirsiniz.
http://en.wikipedia.org/wiki/Server_Name_Indication
http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI
Bunu kendim kullanmamıştım, ancak dahili ve intranet siteleri için iyi geliyor. Modern tarayıcıların çoğu SNI'yi destekler. IE6 SNI'yi desteklemiyor, ancak IE7 destekliyor.
(Düzeltme: 20100426 - SNI hiç Windows XP'de desteklenmiyor. Windows Vista ve üzeri SNI'yi destekliyor. Bkz. Http://msdn.microsoft.com/en-us/library/dd208005% adresindeki "Bölüm 2.2.3" 28v = PROT.13% 29.aspx # id8 ).
OP'nin birçok sanal ana bilgisayarı olan bir IP’ye SSL sertifikası eklerse ne olacağını sorduğunu düşünüyorum. Diğer sanal bilgisayarlardan hiçbiri bir SSL sertifikası kullanmıyorsa, açıkta olması gerekir.
Bir UC sertifikası kesinlikle gitmenin yoludur: http://www.sslshopper.com/unified-communications-uc-ssl-certificates.html
Aynı IP'ye iki sertifika eklemeye çalışırsanız, her yerde sadece ilk okuma sertifikası kullanılır. Bir IP - bir SSL sertifikası.
Aynı IP’de daha fazla SSL sertifikası almak istiyorsanız, birden çok etki alanı (UCC adı verilen - godaddy’ye bakın ) veya joker karakter (daha pahalı) sertifikası almayı düşünün .