_default_ VirtualHost 443 पोर्ट पर ओवरलैप करता है, पहले की मिसाल है


64

मेरे पास एक ही सर्वर पर चलने वाले रेल 3 एप्लिकेशन पर दो रूबी हैं, (ubuntu 10.04), दोनों एसएसएल के साथ।

यहाँ मेरी अपाचे विन्यास फाइल है:

<VirtualHost *:80>
ServerName example1.com
DocumentRoot /home/me/example1/production/current/public
</VirtualHost>
<VirtualHost *:443>
ServerName example1.com
DocumentRoot /home/me/example1/production/current/public
SSLEngine on
SSLCertificateFile /home/me/example1/production/shared/example1.crt
SSLCertificateKeyFile /home/me/example1/production/shared/example1.key
SSLCertificateChainFile /home/me/example1/production/shared/gd_bundle.crt
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
</VirtualHost>


<VirtualHost *:80>
ServerName example2.com
DocumentRoot /home/me/example2/production/current/public
</VirtualHost>
<VirtualHost *:443>
ServerName example2.com
DocumentRoot /home/me/example2/production/current/public
SSLEngine on
SSLCertificateFile /home/me/example2/production/shared/iwanto.crt
SSLCertificateKeyFile /home/me/example2/production/shared/iwanto.key
SSLCertificateChainFile /home/me/example2/production/shared/gd_bundle.crt
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
</VirtualHost>

मुद्दा क्या है:

मेरे सर्वर को पुनः आरंभ करने पर यह मुझे इस तरह से कुछ आउटपुट देता है:

 * Restarting web server apache2                                   
 [Sun Jun 17 17:57:49 2012] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
 ... waiting [Sun Jun 17 17:57:50 2012] [warn] _default_ VirtualHost overlap on port 443, the first has precedence

क्यों इस मुद्दे पर आ रहा है googling पर मैं इस तरह से कुछ मिला:

आप SSL के साथ नाम आधारित वर्चुअल होस्ट का उपयोग नहीं कर सकते, क्योंकि HTTP अनुरोध के बाद SSL हैंडशेक (जब ब्राउज़र सुरक्षित वेब सर्वर का प्रमाणपत्र स्वीकार करता है) होता है, जो उपयुक्त नाम आधारित वर्चुअल होस्ट की पहचान करता है। यदि आप नाम-आधारित वर्चुअल होस्ट का उपयोग करने की योजना बनाते हैं, तो याद रखें कि वे केवल आपके गैर-सुरक्षित वेब सर्वर के साथ काम करते हैं।

लेकिन यह पता लगाने में सक्षम नहीं है कि एक ही सर्वर पर दो एसएसएल एप्लिकेशन कैसे चलाएं।

क्या कोई मेरी मदद कर सकता है?


5
आपके पास _default_उपलब्ध कराए गए कॉन्फ़िगरेशन में कोई vhosts नहीं है , इसलिए वे कहीं और हैं। का आउटपुट क्या है apache2ctl -S? (हां, विभिन्न प्रमाणपत्रों पर कई SSL नाम-आधारित vhosts चलाना संभव है, बशर्ते आपको Windows XP चलाने वाले क्लाइंट ब्राउज़र या किसी अन्य का समर्थन करने की आवश्यकता नहीं है जो TLS SNI का समर्थन नहीं करते हैं। क्या आपको Windows का समर्थन करने की आवश्यकता है। एक्सपी)?
शेन झुंझलाना

जवाबों:


87

लगभग वहाँ पहुँच गया!

इसे ports.conf या http.conf में जोड़ें और अपना उपर्युक्त विन्यास रखें।

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.

    # !important below!
    NameVirtualHost *:443 
    Listen 443
</IfModule>

टिप्पणी "#! महत्वपूर्ण! को हटाने या किसी अन्य पंक्ति में ले जाने की आवश्यकता है। अन्यथा, मेरे लिए इस त्रुटिपूर्ण त्रुटि संदेश की व्याख्या करने के लिए बहुत-बहुत धन्यवाद।
flickerfly

3
यह अब Apache 2.4.7
malhal

धन्यवाद। मैंने पाया कि मुझे टिप्पणी करने की आवश्यकता है 443 सुनें क्योंकि यह भी मेरे अलग-अलग conf.d / website.conf config में उपयोग किया जा रहा है
dlink

3

इसने मुझे "/ usr / sbin / apachectl -S" को भी निष्पादित करने में मदद की। यह कमांड एक्जिट उसी रास्ते पर दो "ssl.conf" फाइलों को दिखाता है। अपराधी फ़ाइल को स्थानांतरित करें या हटाएं और उसके बाद सब कुछ काम करना चाहिए।


1

आप इसे अपने अपाचे विन्यास में जोड़ सकते हैं /etc/apache2/ports.conf:

<IfModule mod_ssl.c>                
    Listen 443                      
    <IfModule !mod_authz_core.c>    
        # Apache 2.2                
        NameVirtualHost *:443       
    </IfModule>                     
</IfModule>                         

(यह दोनों में काम करता है: अपाचे 2.2 और 2.4)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.