एंड्रॉयड

HTTP पर https को nginx में रीडायरेक्ट करें

Jerome - Light (Official Video HD)

Jerome - Light (Official Video HD)

विषयसूची:

Anonim

इस गाइड में, हम बताएंगे कि HTTP ट्रैफ़िक को नग्नेक्स में HTTPS पर कैसे पुनर्निर्देशित किया जाए।

Nginx का उच्चारण "इंजन x" एक मुक्त, खुला स्रोत, उच्च-प्रदर्शन HTTP और रिवर्स प्रॉक्सी सर्वर है जो इंटरनेट पर कुछ सबसे बड़ी साइटों के भार को संभालने के लिए जिम्मेदार है।

HTTP के विपरीत, जहां अनुरोध और प्रतिक्रियाएं सादे में भेजी जाती हैं और लौटाई जाती हैं, HTTPS क्लाइंट और सर्वर के बीच संचार को एन्क्रिप्ट करने के लिए TLS / SSL का उपयोग करता है।

HTTP पर HTTPS का उपयोग करने के कई लाभ हैं, जैसे:

  • सभी डेटा को दोनों दिशाओं में एन्क्रिप्ट किया गया है। परिणामस्वरूप, संवेदनशील जानकारी को नहीं पढ़ा जा सकता है यदि इंटरसेप्ट किया गया है ।Google Chrome और अन्य सभी लोकप्रिय ब्राउज़र आपकी वेबसाइट को सुरक्षित रूप में चिह्नित करेंगे ।HTTPS आपको HTTP / 2 प्रोटोकॉल का उपयोग करने की अनुमति देता है, जो साइट प्रदर्शन को बेहतर बनाता है। यदि HTTPS के माध्यम से आपकी साइट बेहतर होगी।

Nginx में HTTP को HTTPS पर पुनर्निर्देशित करने के लिए पसंदीदा तरीका साइट के प्रत्येक संस्करण के लिए एक अलग सर्वर ब्लॉक को कॉन्फ़िगर करना है। आपको निर्देश का उपयोग करके ट्रैफ़िक को पुनर्निर्देशित करने से बचना चाहिए, क्योंकि यह सर्वर के अप्रत्याशित व्यवहार का कारण हो सकता है।

प्रति साइट HTTP को HTTPS पर पुनर्निर्देशित करें

किसी भी वेबसाइट को HTTPS पर पुनर्निर्देशित करने के लिए डोमेन कॉन्फ़िगरेशन फ़ाइल खोलें और निम्नलिखित परिवर्तन करें:

server { listen 80; listen:80; server_name linuxize.com www.linuxize.com; return 301 https://linuxize.com$request_uri; }

चलो कोड लाइन को लाइन से तोड़ते हैं:

  • listen 80 - सर्वर ब्लॉक निर्दिष्ट डोमेन के लिए पोर्ट 80 पर आने वाले कनेक्शन के लिए सुनेंगे। server_name linuxize.com www.linuxize.com - सर्वर ब्लॉक के डोमेन नामों को निर्दिष्ट करता है। सुनिश्चित करें कि आप इसे अपने डोमेन नाम से प्रतिस्थापित करते हैं। return 301 - साइट के HTTPS संस्करण में ट्रैफ़िक पुनर्निर्देशित करें। $request_uri वैरिएबल पूर्ण मूल अनुरोध URI है जिसमें तर्क शामिल हैं।

आमतौर पर, आप साइट के HTTPS www संस्करण को गैर-www या इसके विपरीत में पुनर्निर्देशित करना चाहेंगे। रीडायरेक्ट करने का अनुशंसित तरीका www और गैर-www दोनों संस्करणों के लिए एक अलग सर्वर ब्लॉक बनाना है।

उदाहरण के लिए, HTTPS www अनुरोधों को गैर-www पर पुनर्निर्देशित करने के लिए, आप निम्नलिखित कॉन्फ़िगरेशन का उपयोग करेंगे:

server { listen 80; listen:80; server_name linuxize.com www.linuxize.com; return 301 https://linuxize.com$request_uri; } server { listen 443 ssl http2; server_name www.linuxize.com; #… other code return 301 https://linuxize.com$request_uri; } server { listen 443 ssl http2; server_name linuxize.com; #… other code }

सभी साइटों को HTTPS पर पुनर्निर्देशित करें

यदि सर्वर पर होस्ट की गई सभी वेबसाइट HTTPS का उपयोग करने के लिए कॉन्फ़िगर की गई हैं, और आप प्रत्येक साइट के लिए एक अलग HTTP सर्वर ब्लॉक नहीं बनाना चाहते हैं, तो आप एक एकल कैच-ऑल HTTP सर्वर ब्लॉक बना सकते हैं। यह ब्लॉक सभी HTTP अनुरोधों को उपयुक्त HTTPS ब्लॉक में रीडायरेक्ट करेगा।

एक एकल कैच-ऑल HTTP ब्लॉक बनाने के लिए जो आगंतुकों को साइट के HTTPS वर्जन पर रीडायरेक्ट करेगा, Nginx कॉन्फ़िगरेशन फ़ाइल खोलें और निम्नलिखित बदलाव करें:

server { listen 80 default_server; listen:80 default_server; server_name _; return 301 https://$host$request_uri; }

चलो लाइन द्वारा कोड लाइन का विश्लेषण करते हैं:

  • listen 80 default_server - इस सर्वर ब्लॉक को सभी बेजोड़ डोमेन के लिए डिफ़ॉल्ट (कैच-ऑल) ब्लॉक के रूप में सेट करता है। server_name _ - _ एक अमान्य डोमेन नाम है जो कभी भी किसी वास्तविक डोमेन नाम से मेल नहीं खाता है। return 301 - ट्रैफ़िक को संबंधित HTTPS सर्वर ब्लॉक में स्थिति कोड 301 (स्थायी रूप से स्थानांतरित) के साथ पुनर्निर्देशित करें। $host चर अनुरोध का डोमेन नाम रखता है।

उदाहरण के लिए, अगर विज़िटर http://example.com/page2 को ब्राउज़र में खोलता है, तो Nginx अनुरोध को https://example.com/page2 पुनर्निर्देशित करेगा।

यदि संभव हो, तो HTTPS पुनर्निर्देशन के लिए एक वैश्विक HTTP के बजाय प्रति-डोमेन के आधार पर पुनर्निर्देशन बनाना पसंद करें।

निष्कर्ष

एक बार जब आपके पास अपनी वेबसाइट पर एसएसएल प्रमाणपत्र स्थापित हो जाता है, तो आपको HTTP ट्रैफिक को HTTPS पर पुनर्निर्देशित करना चाहिए।

Nginx में, HTTP से HTTPS को पुनर्निर्देशित करने का पसंदीदा तरीका एक अलग सर्वर ब्लॉक बनाना और 301 पुनर्निर्देशित करना है।

nginx