सुनिश्चित नहीं हैं लेकिन वहाँ है इस
RewriteEngine on
# Test if SNI will work and if not redirect to too old browser page
RewriteCond %{HTTPS} on
RewriteCond %{SSL:SSL_TLS_SNI} =""
RewriteRule^http://www.example.com/too-old-browser [L,R=307]
एक पुराने ब्राउज़र एक साइट है जो SNI तो यह पुनः निर्देशित किया जाएगा (इस मामले में वापस की जरूरत करने के लिए उपयोग करने का प्रयास किया http और एक पृष्ठ कह रहा है कि ब्राउजर बहुत पुराना है)। लेकिन आपको हमेशा एक त्रुटि मिल जाएगी। इसे टाला नहीं जा सकता है। ब्राउजर हैलो आईपी ...., और अपाचे जवाब हैलो यहाँ मेरा प्रमाणपत्र है। यदि ब्राउज़र हैलो अपाचे में एसएनआई की आपूर्ति नहीं करता है तो डिफ़ॉल्ट (यानी गलत) प्रमाण पत्र भेजता है। ब्राउज़र फिर शिकायत करता है।
आप इस https पर अदला-बदली तो आप इनको में कुछ इस तरह डाल सकता है
#Set $_SERVER['SSL_TLS_SNI'] for php = %{SSL:SSL_TLS_SNI} or value
SetEnv SSL_TLS_SNI %{SSL:SSL_TLS_SNI}
और फिर अपने पृष्ठ में तो ब्राउज़र एक https डिफ़ॉल्ट डोमेन से ला नहीं (डिफ़ॉल्ट ऐसा करने से पहले http से लेने के लिए चाहते हैं यह नहीं कहता कि एक सुरक्षा त्रुटि है)। यदि एसएनआई php $ _SERVER ['SSL_TLS_SNI'] में काम कर रहा है, तो डोमेन नाम होगा, अन्यथा इसमें% {SSL: SSL_TLS_SNI} होगा। कोड का यह बिट सुधार किया जा सकता है लेकिन आपको विचार मिलता है।
स्रोत
2014-10-10 15:58:31
आपको यह सुनिश्चित करने की ज़रूरत है कि कोई एसएनआई के मामले में, सर्वर www.example.com की रिपोर्ट करेगा। अगर मुझे सही तरीके से याद किया जाता है, तो अपाचे ** पहले ** प्रमाण पत्र परोसता है जब कोई एसएनआई नहीं होता है। – Andreas
हां, यही मेरा मतलब है कि फ़ॉलबैक समाधान: डिफ़ॉल्ट मान। यदि आवश्यक हो, तो आप दोनों से कनेक्ट कर सकते हैं और जो भी प्राप्त करते हैं उसकी तुलना करें। – Bruno
यह एक अच्छा विचार की तरह लगता है। मैं इसका परीक्षण करने जा रहा हूं, यह मेरे लिए काम करेगा। –