Nginx प्रॉक्सी मैनेजर इंस्टाल - 2-मिनट सेटअप गाइड
आपकी सेवाएँ वर्तमान में 192.168.1.50:8080 जैसे बदसूरत पतों पर उपलब्ध हैं। Nginx प्रॉक्सी प्रबंधक उन्हें मुफ़्त HTTPS के साथ app.yourdomain.com जैसे साफ़ नामों में बदल देता है - एक डॉकर कंपोज़ फ़ाइल के साथ इंस्टॉल किया जाता है और हाथ से लिखी कॉन्फिग फ़ाइलों के बजाय एक साधारण वेब पैनल से प्रबंधित किया जाता है।
📑अध्याय
- रिवर्स प्रॉक्सी क्या करती है - आपकी सभी सेवाओं के लिए एक द्वार
- शुरू करने से पहले आपको क्या चाहिए - डॉकर, एक डोमेन, और पहुंच योग्य पोर्ट
- कुछ भी इंस्टॉल करने से पहले अपने डोमेन DNS को सर्वर पर इंगित करें
- फ़ोल्डर और docker-compose.yml फ़ाइल बनाएं
- एक कमांड से Nginx प्रॉक्सी मैनेजर प्रारंभ करें
- प्रथम लॉगिन - व्यवस्थापक खाता चरण हर कोई गलत हो जाता है
- फ़ील्ड दर फ़ील्ड अपना पहला प्रॉक्सी होस्ट बनाएं
- निःशुल्क Lets Encrypt HTTPS प्रमाणपत्र प्राप्त करें और Force SSL चालू करें
📋 अवलोकन और चरण-दर-चरण मार्गदर्शिका
शुरू करने से पहले आपको क्या चाहिए
Nginx प्रॉक्सी मैनेजर (NPM) के काम करने से पहले तीन चीजें मौजूद होनी चाहिए। सबसे पहले, डॉकर और डॉकर कंपोज़ वाला एक लिनक्स सर्वर या पीसी पहले से ही स्थापित और काम कर रहा है - एनपीएम एक कंटेनर के रूप में चलता है, सामान्य प्रोग्राम के रूप में नहीं। दूसरा, एक डोमेन नाम जिसका DNS आप संपादित कर सकते हैं, क्योंकि प्रत्येक सेवा को अपना स्वयं का उपडोमेन मिलता है। तीसरा, आपका राउटर या क्लाउड फ़ायरवॉल इस मशीन पर पोर्ट 80 और 443 को अग्रेषित करने में सक्षम होना चाहिए।
सबसे पहले अपने डोमेन DNS को सर्वर पर इंगित करें
एनपीएम ट्रैफ़िक को नाम के आधार पर रूट करता है, और लेट्स एनक्रिप्ट केवल उन नामों के लिए प्रमाणपत्र जारी करता है जो संभवतः आपकी मशीन की ओर इशारा करते हैं - इसलिए इस पर कुछ भी बनाने से पहले नाम को हल करना होगा। अपने रजिस्ट्रार या डीएनएस होस्ट पर, एक एक रिकॉर्ड जोड़ें: नाम केवल उपडोमेन शब्द है (उदाहरण के लिए <कोड>ऐपकोड>) और मान आपके सर्वर का सार्वजनिक आईपी पता है। प्रत्येक सेवा को अपना स्वयं का रिकॉर्ड मिलता है, और वे सभी एक ही आईपी पर इंगित कर सकते हैं - एनपीएम बाद में सेवाओं को नाम से अलग कर देता है। परीक्षण करते समय 300 सेकंड जैसा छोटा टीटीएल सेट करें, ताकि गलतियाँ घंटों के बजाय मिनटों में ख़त्म हो जाएँ।
जारी रखने से पहले इसे साबित करें: जांचें कि नाम किसी बाहरी नेटवर्क से आपके सार्वजनिक आईपी पर लागू होता है (उदाहरण के लिए वाई-फाई बंद होने पर आपके फोन से)। टूटे हुए DNS अपशिष्टों के विरुद्ध प्रमाणपत्र का अनुरोध करने से प्रयास एन्क्रिप्ट हो जाते हैं, और बार-बार विफलताएं आपको घंटों तक सीमित कर सकती हैं। क्रम मायने रखता है: DNS पहले, प्रॉक्सी होस्ट दूसरा, प्रमाणपत्र तीसरा।
फ़ोल्डर बनाएं और फ़ाइल लिखें
सर्वर पर NPM के लिए एक फ़ोल्डर बनाएं और उसके अंदर नीचे दी गई फ़ाइल को docker-compose.yml के रूप में सहेजें। यह एकल फ़ाइल संपूर्ण इंस्टॉलेशन है. छवि का नाम आधिकारिक सामुदायिक छवि है. पोर्ट 80 और 443 सार्वजनिक दरवाजे हैं, पोर्ट 81 एडमिन पैनल है, और दो वॉल्यूम वे हैं जहां आपका पूरा सेटअप रहता है: ./data आपके सभी प्रॉक्सी होस्ट के साथ डेटाबेस रखता है, और ./letsencrypt आपके प्रमाणपत्र रखता है। उन दो फ़ोल्डरों को खो दें और आप पूरा सेटअप खो देंगे - चीजें चलने के बाद उनका बैकअप लें।
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
<कोड>रीस्टार्ट: अनस्टॉप्डकोड> लाइन रिबूट के बाद एनपीएम को स्वचालित रूप से वापस लाती है।
Nginx प्रॉक्सी मैनेजर प्रारंभ करें
उस फ़ोल्डर के अंदर से, स्टार्ट कमांड चलाएँ। डॉकर छवि डाउनलोड करता है और पृष्ठभूमि में कंटेनर शुरू करता है।
docker compose up -d
जांचें कि यह चल रहा है:
docker ps
आपको पोर्ट 80, 443 और 81 के साथ सूचीबद्ध कंटेनर देखना चाहिए। एक छोटे सर्वर पर डेटाबेस बनाते समय पहली शुरुआत में एक या दो मिनट लगते हैं। यदि कंटेनर पुनरारंभ होता रहता है, तो लॉग सरल भाषा में कारण दिखाते हैं:
docker compose logs
दस में से नौ बार रीस्टार्ट लूप एक पोर्ट होता है जिसका उपयोग पहले से ही होस्ट पर किसी अन्य चीज़ द्वारा किया जाता है - आमतौर पर एक पुराना वेब सर्वर अभी भी चल रहा है।
सबसे पहले लॉगिन करें - एडमिन अकाउंट को तुरंत सुरक्षित करें
अपने नेटवर्क पर ब्राउज़र में व्यवस्थापक पैनल खोलें:
http://your-server-ip:81
इसे पहले मिनट में करें. बिल्ड के आधार पर, एनपीएम या तो आपको प्रसिद्ध प्रथम-लॉगिन व्यवस्थापक विवरण को अपने ईमेल और एक मजबूत पासवर्ड से बदलने के लिए कहता है, या - बिना किसी डिफ़ॉल्ट खाते वाले नए बिल्ड पर - व्यवस्थापक पृष्ठ खोलने वाला पहला व्यक्ति व्यवस्थापक बनाता है। किसी भी तरह से नियम समान है: कुछ भी बनाने से पहले, कंटेनर शुरू होते ही अपना स्वयं का व्यवस्थापक खाता सेट करें, और एक वास्तविक मेलबॉक्स का उपयोग करें - एनपीएम ईमेल जो प्रमाणपत्र समस्याओं के बारे में बताता है।
अपना पहला प्रॉक्सी होस्ट बनाएं
एनपीएम में होस्ट → प्रॉक्सी होस्ट → प्रॉक्सी होस्ट जोड़ें खोलें और फॉर्म को एक वाक्य के रूप में भरें - "यह नाम उस आंतरिक सेवा में जाता है":
डोमेन नाम: app.yourdomain.com - चरण 2 से सटीक सार्वजनिक नाम, जो आपके सर्वर पर पहले से ही हल होना चाहिए।
योजना: http अधिकांश घरेलू और कार्यालय ऐप्स के लिए। योजना एनपीएम और आंतरिक सेवा के बीच संबंध का वर्णन करती है, न कि विज़िटर क्या उपयोग करते हैं - एनपीएम दरवाजे पर सार्वजनिक एन्क्रिप्शन को संभालता है। यहां https तभी चुनें जब आंतरिक ऐप स्वयं HTTPS परोसता हो।
फॉरवर्ड होस्टनाम / आईपी: सेवा का आंतरिक पता, उदाहरण के लिए <कोड>192.168.1.50कोड>।
फॉरवर्ड पोर्ट: वह पोर्ट जिस पर सेवा वास्तव में सुनती है, उदाहरण के लिए <कोड>8080कोड> - 80 या 443 नहीं; वे एनपीएम के दरवाजे हैं, सेवा के नहीं।
सामान्य शोषण को रोकें चालू करें, फिर सहेजें। ब्राउज़र में नाम खोलकर तुरंत परीक्षण करें - आदर्श रूप से वाई-फ़ाई बंद होने पर अपने फ़ोन से, ताकि आप वास्तविक सार्वजनिक पथ का परीक्षण कर सकें।
localhost गलत है (एनपीएम के कंटेनर के अंदर, लोकलहोस्ट का अर्थ एनपीएम ही है) - प्रकाशित पोर्ट के साथ सर्वर के LAN आईपी का उपयोग करें, या दोनों कंटेनरों को एक ही डॉकर नेटवर्क पर रखें और कंटेनर नाम का उपयोग करें।निःशुल्क लेट्स एन्क्रिप्ट HTTPS प्रमाणपत्र प्राप्त करें
ऐसा केवल तभी करें जब चरण 6 का सादा होस्ट पहले से ही काम कर रहा हो - टूटे हुए होस्ट पर HTTPS आपको प्रमाण पत्र के साथ एक टूटा हुआ होस्ट देता है, और गलती देखने के लिए दो बार स्थान देता है। वही प्रॉक्सी होस्ट खोलें, SSL टैब पर जाएं, SSL प्रमाणपत्र को नए SSL प्रमाणपत्र के लिए अनुरोध पर सेट करें, Force SSL और HTTP/2 समर्थन सक्षम करें, Lets Encrypt सेवा की शर्तों से सहमत हों और सहेजें। साइट को पुनः लोड करें - ब्राउज़र को अब https पर पैडलॉक दिखाना चाहिए।
यह कैसे काम करता है: आइए एनक्रिप्ट आपके सर्वर से, पोर्ट 80 पर सार्वजनिक इंटरनेट पर, एक बार का टोकन (HTTP-01 चुनौती) दिखाने के लिए कहकर नाम को नियंत्रित करता है। यही कारण है कि आपकी ओर इशारा करने वाले डीएनएस और पहुंच योग्य पोर्ट 80 गैर-परक्राम्य हैं - इनमें से कोई भी विफल हो जाता है और अनुरोध विफल हो जाता है, और त्रुटि सेटअप में होती है, लेट्स एनक्रिप्ट में कभी नहीं। SSL को बाध्य करें प्रत्येक http विज़िटर को स्वचालित रूप से https पर रीडायरेक्ट करता है; इसके बिना अनएन्क्रिप्टेड दरवाजा एन्क्रिप्टेड दरवाजे के बगल में खुला रहता है।
🏷️विषय खोज चर और कीवर्ड
🎙️ पूर्ण प्रतिलेख - विस्तार करने के लिए टैप करें
__TOK_34__
__TOK_35__
__TOK_36__
❓अक्सर पूछे जाने वाले प्रश्न
क्या यह ट्यूटोरियल अनुसरण करने के लिए 100% निःशुल्क है?
__TOK_37__
क्या शुरुआती लोग इस गाइड का पालन कर सकते हैं?
__TOK_38__
यदि मैं फंस जाऊं तो मैं प्रश्न कहां पूछ सकता हूं?
__TOK_39__