एनजीआईएनएक्स आधिकारिक दस्तावेज पुनर्निर्देशन को प्रभावित करने के लिए पुनर्लेखन निर्देश का उपयोग करने के बजाय रिटर्न निर्देश का उपयोग करने के लिए प्रोत्साहित करता है। ऐसा इसलिए है, क्योंकि पुनर्लेखन का अनुरोध उस सर्वर के लिए नहीं है, लेकिन यह अभी भी उस सर्वर ब्लॉक में संसाधित होता है। इसलिए पुनर्निर्देशन सही ढंग से बदले निर्देश के साथ किया जाता है, क्योंकि सभी प्रसंस्करण रोक दिए जाते हैं और तुरंत एक प्रतिक्रिया भेजी जाती है। NGINX यहां पुनर्निर्देशन के लिए फिर से लिखता है: http://nginx.org/en/docs/http/converting_rewrite_rules.html
रिटर्न निर्देश के लिए सिंटैक्स है: रिटर्न कोड URL; जैसा कि आप मूल रूप से एक स्थायी पुनर्लेखन कर रहे थे, इसलिए तदनुसार 301 का उपयोग आप कोड के साथ प्रतिक्रिया करने के लिए कर सकते हैं, यह दर्शाता है कि यह एक स्थायी पुनर्निर्देशन है। Url सेक्शन में आपका https एड्रेस पास हो जाएगा। संदर्भ: http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return
तो आपका सही कॉन्फ़िगरेशन होगा
server {
listen 80;
server_name *.mydomain.com;
#Redirect all nonssl requests to ssl.
return 301 https://$server_name$request_uri;
}
यह संभवतः आपको वाइल्डकार्ड सर्वर ब्लॉक के साथ आपके ssl डोमेन पर सही ढंग से रीडायरेक्ट करने देगा। आप नीचे दिए गए सुझाव के अनुसार अंडरस्कोर जेनेरिक सर्वर नाम '_' या $ होस्ट भी आज़मा सकते हैं। हमें बताऐ!