UCC / SAN प्रमाणपत्र का उपयोग करके एक एकल IP पर Apache SSL VirtualHosts


11

मुझे एक ही आईपी से एसएसएल के साथ कई अपाचे वर्चुअल होस्ट की मेजबानी करने की आवश्यकता है।

अब - मैं समझता हूं कि क्योंकि SSL HTTP अनुरोध के आसपास घूमता है, इसलिए यह जानने का कोई तरीका नहीं है कि कौन से होस्ट को तब तक अनुरोध किया जा रहा है जब तक कि क्लाइंट के लिए एक सार्वजनिक कुंजी पहले नहीं भेजी गई हो। यह अनिवार्य रूप से एक मानक एसएसएल प्रमाणपत्र का उपयोग करके एसएसएल वर्चुअल होस्ट की संभावना को तोड़ता है।

मैंने एक एकीकृत संचार प्रमाणपत्र (UCC) प्राप्त किया है, अन्यथा इसे विषय वैकल्पिक नाम (SAN) प्रमाणपत्र के रूप में जाना जाता है। यह मुझे कई डोमेन के लिए एक ही प्रमाणपत्र प्रदान करने की अनुमति देता है।

मैं चाहूंगा कि किसी भी एसएसएल अनुरोध के लिए अपाचे द्वारा प्रदान किया जाने वाला प्रमाण पत्र हो - और फिर अपाचे ने हमेशा की तरह आभासी मेजबान को हल किया है, एक बार एन्क्रिप्शन स्थापित किया गया है।

मुझे इसके लिए अपाचे को कैसे कॉन्फ़िगर करना चाहिए? मैंने यह शोध करने की कोशिश की है कि यह कैसे किया जा सकता है, लेकिन सभी मुझे ऐसे उद्धरण मिल सकते हैं जो कहते हैं कि यह संभव है, लेकिन कोई विवरण नहीं:


wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI

हालांकि Apache अनुरोध (और करता है) में होस्टनाम देखने के बाद बाद में एसएसएल कनेक्शन को फिर से कनेक्ट कर सकता है, प्रारंभिक हैंडशेक के दौरान अनुरोध होस्टनाम से मिलान करने के लिए उपयोग करने के लिए सही सर्वर प्रमाणपत्र लेने में बहुत देर हो चुकी है, जिसके परिणामस्वरूप ब्राउज़र चेतावनी / प्रमाणपत्र के लिए त्रुटियां हैं। उनमें गलत होस्टनाम है।

serverfault.com/questions/48334/apache-virtual-hosts-with-ssl

संयोग से, एक ही आईपी पते पर कई एसएसएल-सिक्योर नामित वर्चुअल होस्ट होना संभव है - मैं इसे अपनी वेबसाइट पर करता हूं - लेकिन यह अपाचे लॉग्स और ब्राउज़र में प्रमाणपत्र चेतावनी के सभी प्रकार का उत्पादन करता है। मैं निश्चित रूप से इसे एक उत्पादन साइट के लिए अनुशंसित नहीं करूंगा, जिसे साफ देखने की जरूरत है। -विवाहित जूल 31 को 4:58 बजे

www.digicert.com/subject-alternative-name.htm

एक ही आईपी पते पर वर्चुअल होस्ट मल्टीपल एसएसएल साइट्स। एक सर्वर पर कई एसएसएल-सक्षम साइटों की मेजबानी के लिए आमतौर पर प्रति साइट एक अद्वितीय आईपी पते की आवश्यकता होती है, लेकिन विषय वैकल्पिक नाम के साथ एक प्रमाण पत्र इस समस्या को हल कर सकता है। Microsoft IIS 6 और Apache दोनों वर्चुअल होस्ट HTTPS साइटों को एकीकृत संचार SSL का उपयोग करने में सक्षम हैं, जिन्हें SAN प्रमाणपत्र भी कहा जाता है।


कृपया मदद कीजिए।

जवाबों:


13

मैंने अपने अपाचे 2.2.14 उदाहरण पर इसका परीक्षण किया और इसने ठीक काम किया:

NameVirtualHost निर्देश (ports.conf के लिए) का उपयोग करें:

NameVirtualHost *:443

अपने vhosts को परिभाषित करें:

<VirtualHost *:443>
  ServerName www.siteA.com
  DocumentRoot "/opt/apache22/htdocs/siteA"
  SSLCertificateFile "/path/to/my/cert"
  SSLCertificateKeyFile "/path/to/my/key"
</VirtualHost>
<VirtualHost *:443>
  ServerName www.siteB.com
  DocumentRoot "/opt/apache22/htdocs/siteB"
  SSLCertificateFile "/path/to/my/cert"
  SSLCertificateKeyFile "/path/to/my/key"
</VirtualHost>

मैंने इस लिंक का उपयोग एक संसाधन के रूप में किया है।


1
का उत्तर सही है। एक बात जो मुझे एक LOOOONNNNNNGGGGG समय के लिए यात्रा की थी कि मैं एक टाइपो था जहाँ मैं था <Virtual *:433>... सही बंदरगाह 443 है! ऊ, मेरे जीवन के कुछ घंटे इस पर खो गए ... आशा है कि मेरा दर्द व्यर्थ नहीं था और इससे किसी को मदद मिलती है ...
निक पी।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.