google chrome मैं ब्राजील एसएसएल जांच को ट्रिगर किए बिना कैसे www ट्रैफ़िक पुनर्निर्देशित करूं?



google-chrome redirect (1)

यदि आपका प्रमाण पत्र केवल www.example.com के लिए नहीं है, तो www.example.com पर कोई भी प्रवेश प्रमाणपत्र चेतावनी ट्रिगर करेगा, चाहे आप इसे पुनर्निर्देशित करना चाहते हों या नहीं। रीडायरेक्शन एचटीटीपी स्तर पर किया जाता है और इससे पहले कि वह वार्तालाप करता है, इससे पहले एसटीएल हैंडशेक (जो समस्या को ट्रिगर करता है) करता है, क्योंकि एचटीटीपीएस एसएसएल के भीतर सिर्फ HTTP है।

और इससे पहले कि आप पूछें, डीएनएस (जैसे CNAME) के साथ ट्रिक्स या तो मदद नहीं करेगा क्योंकि ब्राउज़र यूआरएल में नाम के खिलाफ प्रमाण पत्र की तुलना करेगा, संभावित डीएनएस उपनामों के नाम से नहीं। एक उचित प्रमाण पत्र प्राप्त करने के आसपास कोई रास्ता नहीं है

मेरे पास example.com के लिए एक वैध प्रमाण पत्र है अगर उपयोगकर्ता http://example.com पर मेरी साइट पर जाते हैं, तो वे https://example.com पर पुनः निर्देशित हो जाते हैं और ये सब अच्छा है। अगर वे https://example.com पर जाते हैं, तो सभी अच्छे हैं। यदि वे यहां तक ​​कि http://www.example.com पर जाते हैं , तो वे https://example.com पर पुनः निर्देशित हो जाते हैं और ये सब अच्छा है।

हालांकि, अगर वे https://www.example.com पर जाते हैं, तो इससे पहले कि मैं रीडायरेक्ट कर सकूं, क्रोम अपनी एसएसएल चेतावनी को ट्रिगर करता है और उपयोगकर्ता को इस साइट पर विश्वास नहीं करने के लिए कहता है। सफारी या फ़ायरफ़ॉक्स में मेरे पास यह समस्या नहीं है

यहाँ मेरा nginx कॉन्फ़िगरेशन है मैं क्या गलत कर रहा हूं?

`` `

# Configuration for redirecting non-ssl to ssl;                                                                                                                                                         

server {
    listen *:80;
    listen [::]:80;
    server_name example.com;
    return 301 https://example.com$request_uri;
}       

# Configuration for redirecting www to non-www; 

server {    
    server_name www.example.com;
    ssl_certificate ssl/ssl_cert.crt;
    ssl_certificate_key ssl/ssl_key.key;
    listen *:80;
    listen *:443 ssl spdy;    
    listen [::]:80 ipv6only=on;
    listen [::]:443 ssl spdy ipv6only=on;

    return 301 https://example.com$request_uri;
} 

server {
    listen *:443 ssl spdy;   
    listen [::]:443 ssl spdy;
    ssl_certificate ssl/ssl_cert.crt;
    ssl_certificate_key ssl/ssl_key.key;
    server_name example.com;
}

`` `

संपादित करें: मुझे पता है कि यह एक समस्यागत कॉन्फ़िगरेशन है क्योंकि दूसरे ब्लॉक certs पर दिखेगा "Www.example.com" के बजाय "example.com" से पढ़े गए प्रमाण के साथ इसे सेट करने का उचित तरीका क्या है?





nginx