अपाचे httpd मुझे यह क्यों बताता है कि मेरा नाम-आधारित virtualhosts केवल SNI सक्षम ब्राउजर (RFC 4366) के साथ काम करता है


9

अपाचे मुझे मेरे लॉग में यह त्रुटि संदेश क्यों देता है? क्या यह गलत सकारात्मक है?

[warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)

मैंने हाल ही में सेंटोस 5.7 से 6.3 तक, और उसके द्वारा एक नए httpd संस्करण में अपग्रेड किया है। मैंने हमेशा अपने एसएसएल वर्चुएलहोस्ट विन्यास को नीचे की तरह बनाया है। जहाँ एक ही सर्टिफिकेट (ज्यादातर / हमेशा वाइल्डकार्ड सेरिट) साझा करने वाले सभी डोमेन एक ही आईपी साझा करते हैं। लेकिन मुझे यह त्रुटि संदेश पहले कभी नहीं मिला (या मेरे पास है, शायद मैंने अपने लॉग में पर्याप्त नहीं देखा है?) मैंने जो सीखा है वह एसएनआई (सर्वर नेम इंडिकेशन) के बिना काम करना चाहिए।

यहाँ मेरे httpd.conf फ़ाइल के प्रासंगिक भाग हैं। इस VirtualHost के बिना मुझे त्रुटि संदेश नहीं मिलता है।

NameVirtualHost 10.101.0.135:443

<VirtualHost 10.101.0.135:443>
  ServerName sub1.domain.com

  SSLEngine on
  SSLProtocol -all +SSLv3 +TLSv1
  SSLCipherSuite ALL:!aNull:!EDH:!DH:!ADH:!eNull:!LOW:!EXP:RC4+RSA+SHA1:+HIGH:+MEDIUM
  SSLCertificateFile /opt/RootLive/etc/ssl/ssl.crt/wild.fareoffice.com.crt
  SSLCertificateKeyFile /opt/RootLive/etc/ssl/ssl.key/wild.fareoffice.com.key
  SSLCertificateChainFile /opt/RootLive/etc/ssl/ca/geotrust-ca.pem
</VirtualHost>

<VirtualHost 10.101.0.135:443>
  ServerName sub2.domain.com

  SSLEngine on
  SSLProtocol -all +SSLv3 +TLSv1
  SSLCipherSuite ALL:!aNull:!EDH:!DH:!ADH:!eNull:!LOW:!EXP:RC4+RSA+SHA1:+HIGH:+MEDIUM
  SSLCertificateFile /opt/RootLive/etc/ssl/ssl.crt/wild.fareoffice.com.crt
  SSLCertificateKeyFile /opt/RootLive/etc/ssl/ssl.key/wild.fareoffice.com.key
  SSLCertificateChainFile /opt/RootLive/etc/ssl/ca/geotrust-ca.pem
</VirtualHost>

जवाबों:


7

ऐसा इसलिए है क्योंकि आपका VirtualHost निर्देश आपके ServerName निर्देश और / या प्रमाणपत्र के CN से मेल नहीं खाता है। जब तक आपके पास वाइल्डकार्ड प्रमाणपत्र न हो, जहां गैर-जंगली हिस्से समान होने चाहिए, तब तक तीनों समान होने चाहिए।


तो यहाँ उत्तर के लिए <VirtualHost 10.101.0.135:443>लाइन को बदलने के लिए है <VirtualHost sub2.domain.com:443>? संभावित?
माइकलजोन

@MichaelJones ने इस समस्या को हल किया है?
फर्नांडो सैंटियागो

@FernandoSantiago अब मैं अपने वर्चुअल होस्ट्स के लिए अलग-अलग आईपी एड्रेस के लिए भुगतान करता हूं क्योंकि मुझे लगता है कि एसएनआई अपर्याप्त रूप से विश्वसनीय है। और मेरी VirtualHostघोषणाओं में मेरे आईपी पते हैं ।
माइकलजोन

1
इससे मेरी समस्या पूरी तरह हल हो गई। मैं एक VirtualHostवाइल्ड कार्ड का उपयोग कर रहा था लेकिन ServerNameसर्टिफिकेट सीएन से मेल खाता था। सभी 3 मिलान और वायोला! PS: यह उत्तर serverfault.com/questions/578061/… आपको बताता है कि CN को आप अपने RSA प्रमाणपत्र में कैसे प्राप्त करें
3bdalla

3

यह एक त्रुटि नहीं है, यह एक चेतावनी संदेश है।

और आप इसे प्राप्त कर रहे हैं क्योंकि 1) आपने अपना अपाचे संस्करण और 2 अपडेट किया है) आपके पास एक ही सटीक आईपी पते का उपयोग करके 2 एसएसएल वर्चुअलहॉस्ट्स हैं (जैसा कि 2 आईपी का उपयोग करने का विरोध किया गया है)।

चूंकि आप आईपी साझा कर रहे हैं, एसएनआई समर्थन के बिना ब्राउज़र सिर्फ पहली वेबसाइट प्राप्त करेंगे और कभी दूसरा नहीं।


एसएनआई के बिना ब्राउज़रों को पहली वेबसाइट के लिए कॉन्फ़िगर किया गया प्रमाण पत्र मिलेगा - लेकिन वास्तव में अनुरोध की सेवा के लिए उन्हें एक वीएचएस में मैप करने के लिए, Hostहेडर को सामान्य रूप से जांचा जाता है।
शेन मैडेन

@ShaneMadden, मैं मेजबान के रूप में सही है कि विश्वास नहीं करता है: शीर्ष लेख की जाँच नहीं है पहले SSL कनेक्शन स्थापित किया गया है। और यह SNI समर्थन होने का पूरा बिंदु है। या अन्यथा SSL VH प्रति 1 IP की आवश्यकता है। तो एसएनआई के बिना, अपाचे उस आईपी पते के साथ पाए गए पहले वीएच के लिए डिफ़ॉल्ट होगा, होस्ट: हेडर व्यावहारिक रूप से अनदेखा किया गया है।
राइटस्टफ

... अन्यथा आप 1 एकल आईपी पते पर 100s SSL NameBasedVirtualHosts कर सकते थे, और हम जानते हैं कि यह सच नहीं है (सर्वर और क्लाइंट द्वारा एसएनआई समर्थन के बिना)।
राइटस्टफ

4
Otherwise you could do 100s of SSL NameBasedVirtualHosts on 1 single IP address, and we know that's not true (without SNI support by server and client)आप ऐसा कर सकते हैं। इसका सामान्य उपयोग तब होता है जब सभी के पास एक ही प्रमाण पत्र, एक वाइल्डकार्ड या एक वैकल्पिक नाम प्रमाण पत्र होता है। लेकिन कहते हैं कि आपके पास अपने स्वयं के एसएसएल सीरियल्स के साथ दो vhosts हैं - domain1.com और domain2.com, साथ ही domain1.com पहले कॉन्फ़िगर किया गया। एक गैर-एसएनआई सक्षम ब्राउज़र domain2.com का अनुरोध करता है - उन्हें एक प्रमाणपत्र डोमेन बेमेल त्रुटि मिलती है, क्योंकि उन्हें डोमेन 1 प्रमाणपत्र भेजा गया था - लेकिन अगर वे इसके माध्यम से क्लिक करते हैं, तो उन्हें डोमेन 2 सामग्री मिलती है।
शेन मैडेन

1
यदि होस्ट हेडर को नजरअंदाज कर दिया गया, तो भी "एक वाइल्डकार्ड सर्टिफिकेट जिसमें कई नाम-आधारित वाउचर हैं" का सरल और व्यापक रूप से तैनात मामला टूट जाएगा। वैसे भी, यहाँ उन सवालों के एक दो उदाहरण हैं जिनका मैंने यहाँ उत्तर दिया है जहाँ उस व्यवहार को प्रदर्शित किया गया है; serverfault.com/q/292637 serverfault.com/q/330212
शेन मैडेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.