जवाबों:
मुझे लगता है कि यह एक अच्छा विचार है कि यह कैसे समझाया जाए कि आभासी मेजबानों और एसएसएल / टीएलएस के साथ वास्तव में क्या समस्या है।
जब आप HTTP पर अपाचे सर्वर से जुड़ते हैं तो आप http हेडर का एक सेट भेजते हैं। वे इस तरह दिखते हैं:
GET /index.html HTTP/1.1
Host: www.nice-puppies.com
यदि आपके पास वर्चुअल होस्टिंग एपाचे मेजबान क्षेत्र को देखेंगे, तो आपके लिए सही index.html प्राप्त करेंगे। समस्या तब है जब आप SSL / TLS जोड़ते हैं। सर्वर कभी भी आपके http अनुरोध भेजने से पहले एन्क्रिप्शन सेट करता है। यदि आप प्रमाणीकरण / एन्क्रिप्शन पूरा होने के बाद तक www.nice-puppies.com या www.evil-haxxor.com पर जा रहे हैं तो सर्वर को यह पता नहीं है। सर्वर अनुमान नहीं लगा सकता है (जैसा कि गलत प्रमाण पत्र भेजना आपको एक बुरा त्रुटि संदेश देता है)।
एक समाधान एक वाइल्डकार्ड प्रमाणपत्र (जैसा कि ऊपर बताया गया है), जो * .nice-puppies.com के लिए मान्य है। इस तरह आप कई डोमेन के लिए एक ही प्रमाण पत्र का उपयोग कर सकते हैं, लेकिन आपके पास एक * .com प्रमाणपत्र नहीं है (ठीक है, आप कर सकते हैं, लेकिन यह बाकी सभी के लिए बहुत बुरा होगा), इसलिए सामान्य तौर पर आपको प्रत्येक के लिए अलग आईपी की आवश्यकता होगी HTTPS डोमेन।
इस समस्या का वास्तविक समाधान "सर्वर नाम संकेत" है:
http://en.wikipedia.org/wiki/Server_Name_Indication
यह केवल सर्वर और वेब क्लाइंट में रोल आउट होना शुरू हो रहा है, इसलिए यह वास्तव में कुछ ऐसा नहीं है जिसे आप अभी उपयोग कर सकते हैं, लेकिन उम्मीद है कि कुछ वर्षों में यह एक समस्या के रूप में नहीं होगा।
समस्या यह है कि एसएसएल प्रमाण पत्र आईपी पते के लिए बाध्य है होस्टनाम नहीं। जब कनेक्शन HTTPS अनुरोध के लिए IP पते पर आता है, तो सर्वर सर्टिफिकेट और / या क्लाइंट सर्टिफिकेट पास करके SSL संचार स्थापित करने के लिए पहली क्रिया होती है। कनेक्शन के इस चरण के दौरान अपाचे सर्वर को यह जानने का कोई तरीका नहीं है कि किस माध्यम से आने का अनुरोध है। यह HTTP (नॉन-एसएसएल) ट्रैफ़िक के लिए अलग है क्योंकि कनेक्शन स्थापित होने के बाद Apache सर्वर क्लाइंट को Host
हेडर भेजता है या इसे पहले वर्चुअल होस्ट कॉन्फ़िगर किया गया है या नहीं इसे उपयोग करने के लिए वर्चुअल होस्ट कॉन्फ़िगरेशन का उपयोग कर सकता है।
यदि आपके पास एक ही डोमेन के अंतर्गत एक से अधिक वर्चुअल होस्ट्स हैं, तो आप IP पते पर एक ही वाइल्डकार्ड प्रमाणपत्र सेट कर सकते हैं और कई वर्चुअल होस्ट्स को अलग-अलग सर्वर नामों से परिभाषित कर सकते हैं; हालाँकि, यदि वे सर्वर नाम उसी डोमेन नाम के तहत नहीं हैं, तो वे क्लाइंट सर्वर त्रुटियों को उत्पन्न करेंगे। यह काम करेगा क्योंकि वाइल्डकार्ड प्रमाणपत्र उस डोमेन नाम के तहत सभी होस्ट नामों के लिए मान्य होगा। यदि डोमेन नाम अलग-अलग होते हैं, तो आपको एक और आईपी पते की आवश्यकता होगी क्योंकि उस आईपी पते के लिए परिभाषित पहला प्रमाणपत्र ग्राहकों को जोड़ने के लिए प्रस्तुत किया जाएगा।
इसे एक एकल ssl प्रमाणपत्र में SAN (विषय वैकल्पिक नाम) के रूप में जोड़ा जा सकता है। मेरे बहिष्कार में मुझे एक संगठन sll प्रमाणपत्र का अनुरोध करना पड़ा। मैंने ग्लोबसलाइन का इस्तेमाल किया।
दरअसल, आधुनिक सॉफ्टवेयर के साथ आप 'SNI - Server Name Sication' नामक एक नई सुविधा का उपयोग करते हुए, एक एकल IP पते पर कई HTTPS साइटों की सेवा कर सकते हैं।
http://en.wikipedia.org/wiki/Server_Name_Indication
http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI
मुझे अभी तक इसका उपयोग नहीं करना है, लेकिन यह आंतरिक और इंट्रानेट साइटों के लिए अच्छा लगता है। अधिकांश आधुनिक ब्राउज़र एसएनआई का समर्थन करते हैं। IE6 SNI का समर्थन नहीं करता है, लेकिन IE7 करता है।
(सुधार: 20100426 - एसएनआई विंडोज एक्सपी पर समर्थित नहीं है। विंडोज़ विस्टा और इसके बाद के संस्करण एसएनआई का समर्थन करते हैं। http://msdn.microsoft.com/en-us/library/dd208005% पर "धारा 2.2.3" देखें। 28v = PROT.13% 29.aspx # id8 )।
मुझे लगता है कि ओपी पूछ रहा है कि क्या होता है अगर वह एक आईपी के लिए एक एसएसएल सर्टिफिकेट जोड़ता है जिसमें कई वर्चुअल होस्ट हैं। यदि अन्य वर्चुअलहोस्टेस में से कोई भी एसएसएल प्रमाणपत्र का उपयोग नहीं करता है, तो उसे स्पष्ट होना चाहिए।
एक यूसी प्रमाणपत्र निश्चित रूप से जाने का तरीका है: http://www.sslshopper.com/unified- दूरसंचार-uc-ssl-cert सर्टिफिकेट
यदि आप एक ही आईपी पर दो प्रमाण पत्र जोड़ने का प्रयास करेंगे, तो हर जगह केवल पहले पढ़े गए प्रमाण पत्र का उपयोग किया जाएगा। एक आईपी - एक एसएसएल प्रमाणपत्र।
यदि आप एक ही आईपी पर अधिक एसएसएल प्रमाणपत्र प्राप्त करना चाहते हैं, तो कई-डोमेन प्राप्त करने पर विचार करें (जिसे यूसीसी कहा जाता है - इसे @ Godaddy देखें ) या वाइल्डकार्ड (अधिक महंगा) प्रमाणपत्र।