Nginx प्रोक्सी प्रबन्धक स्थापना - 2-मिनेट सेटअप गाइड
तपाईंका सेवाहरू हाल 192.168.1.50:8080 जस्ता कुरूप ठेगानाहरूमा लाइभ छन्। Nginx प्रोक्सी प्रबन्धकले तिनीहरूलाई नि: शुल्क HTTPS को साथ app.yourdomain.com जस्ता सफा नामहरूमा परिणत गर्दछ - एउटा डकर कम्पोज फाइलको साथ स्थापित र हातले लेखिएका कन्फिग फाइलहरूको सट्टा साधारण वेब प्यानलबाट व्यवस्थित।
📑अध्यायहरू
- रिभर्स प्रोक्सीले के गर्छ - तपाईका सबै सेवाहरूको लागि एउटा ढोका
- सुरु गर्नु अघि तपाईलाई के चाहिन्छ - डकर, एक डोमेन, र पहुँचयोग्य पोर्टहरू
- कुनै पनि कुरा स्थापना गर्नु अघि आफ्नो डोमेन DNS लाई सर्भरमा पोइन्ट गर्नुहोस्
- फोल्डर र docker-compose.yml फाइल सिर्जना गर्नुहोस्
- एउटा आदेशको साथ Nginx प्रोक्सी प्रबन्धक सुरु गर्नुहोस्
- पहिलो लगइन - प्रशासक खाता चरण सबै गलत हुन्छ
- तपाईँको पहिलो प्रोक्सी होस्ट, फिल्ड अनुसार फिल्ड सिर्जना गर्नुहोस्
- नि:शुल्क Lets Encrypt HTTPS प्रमाणपत्र प्राप्त गर्नुहोस् र बल SSL सक्रिय गर्नुहोस्
📋 सिंहावलोकन र चरण-दर-चरण गाइड
तपाईलाई सुरु गर्नु अघि के चाहिन्छ
Nginx प्रोक्सी प्रबन्धक (NPM) ले काम गर्न सक्नु अघि तीन चीजहरू अवस्थित हुनुपर्छ। पहिले, लिनक्स सर्भर वा पीसी डकर र डकर कम्पोज पहिले नै स्थापित र काम गर्दछ - NPM कन्टेनरको रूपमा चल्छ, सामान्य कार्यक्रमको रूपमा होइन। दोस्रो, एक डोमेन नाम जसको DNS तपाईले सम्पादन गर्न सक्नुहुन्छ, किनकि प्रत्येक सेवाले आफ्नै उपडोमेन पाउँछ। तेस्रो, तपाईंको राउटर वा क्लाउड फायरवालले पोर्ट 80 र 443 लाई यस मेसिनमा फर्वार्ड गर्न सक्षम हुनुपर्छ।
तपाईको डोमेन DNS लाई पहिले सर्भरमा पोइन्ट गर्नुहोस्
NPM ले ट्राफिकलाई नामद्वारा मार्ग गर्दछ, र Encrypt ले तपाइँको मेसिनमा देखाउन सक्ने नामहरूको लागि मात्र प्रमाणपत्रहरू जारी गर्दछ - त्यसैले तपाईंले यसमा केहि निर्माण गर्नु अघि नामले समाधान गर्नुपर्छ। तपाईंको रजिस्ट्रार वा DNS होस्टमा, ए रेकर्ड थप्नुहोस्: नाम भनेको सबडोमेन शब्द मात्र हो (उदाहरणका लागि app) र मान तपाईंको सर्भरको सार्वजनिक IP ठेगाना हो। प्रत्येक सेवाको आफ्नै रेकर्ड हुन्छ, र तिनीहरू सबै एउटै आईपीमा पोइन्ट गर्न सक्छन् - NPM ले सेवाहरूलाई पछि नामद्वारा अलग गर्छ। छोटो TTL सेट गर्नुहोस् जस्तै परीक्षण गर्दा 300 सेकेन्ड, ताकि गल्तीहरू घण्टाको सट्टा मिनेटमा फीका हुन्छन्।
तपाईंले जारी राख्नु अघि यसलाई प्रमाणित गर्नुहोस्: नाम बाहिरी नेटवर्कबाट तपाईंको सार्वजनिक आईपीमा समाधान हुन्छ भनेर जाँच गर्नुहोस् (उदाहरणका लागि Wi-Fi बन्द भएको तपाईंको फोनबाट)। टुटेको 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
पुनः सुरु गर्नुहोस्: जबसम्म-रोकियो लाइनले NPM लाई रिबुट गरेपछि स्वतः फिर्ता ल्याउँछ।
Nginx प्रोक्सी प्रबन्धक सुरु गर्नुहोस्
त्यो फोल्डर भित्रबाट, सुरु आदेश चलाउनुहोस्। डकरले छवि डाउनलोड गर्छ र पृष्ठभूमिमा कन्टेनर सुरु गर्छ।
docker compose up -d
यो चलिरहेको छ जाँच गर्नुहोस्:
docker ps
तपाईंले पोर्टहरू 80, 443 र 81 सँग सूचीबद्ध कन्टेनर हेर्नु पर्छ। सानो सर्भरमा पहिलो सुरुमा डाटाबेस सिर्जना हुँदा एक वा दुई मिनेट लाग्छ। यदि कन्टेनर पुन: सुरु गरिरहन्छ भने, लगहरूले सादा भाषामा कारण देखाउँछन्:
docker compose logs
दस मध्ये नौ पटक पुन: सुरु गर्ने लूप होस्टमा अरू केहि द्वारा प्रयोग गरिएको पोर्ट हो - सामान्यतया पुरानो वेब सर्भर अझै चलिरहेको छ।
पहिलो लगइन - तत्काल प्रशासक खाता सुरक्षित गर्नुहोस्
तपाईंको आफ्नै नेटवर्कमा ब्राउजरमा प्रशासक प्यानल खोल्नुहोस्:
http://your-server-ip:81
पहिलो मिनेटमा यो गर्नुहोस्। निर्माणको आधारमा, NPM ले या त तपाईंलाई आफ्नो इमेल र बलियो पासवर्डको साथ प्रख्यात पहिलो-लगइन प्रशासक विवरणहरू प्रतिस्थापन गर्न सोध्छ, वा - कुनै पूर्वनिर्धारित खाता बिना नयाँ निर्माणहरूमा - व्यवस्थापक पृष्ठ खोल्ने पहिलो व्यक्तिले प्रशासक सिर्जना गर्दछ। कुनै पनि तरिका नियम समान छ: कन्टेनर सुरु हुने क्षणमा, अरू केहि सिर्जना गर्नु अघि, तपाईंको आफ्नै प्रशासक खाता सेट अप गर्नुहोस्, र वास्तविक मेलबक्स प्रयोग गर्नुहोस् - NPM इमेलहरू जसले प्रमाणपत्र समस्याहरूको बारेमा ठेगाना दिन्छ।
तपाईंको पहिलो प्रोक्सी होस्ट सिर्जना गर्नुहोस्
NPM मा होस्ट → प्रोक्सी होस्ट → प्रोक्सी होस्ट थप्नुहोस् खोल्नुहोस् र एउटा वाक्यको रूपमा फारम भर्नुहोस् - "यो नाम त्यो आन्तरिक सेवामा जान्छ":
डोमेन नामहरू: app.yourdomain.com - चरण 2 बाट सही सार्वजनिक नाम, जुन पहिले नै तपाईंको सर्भरमा समाधान हुनुपर्छ।
योजना: http अधिकांश घर र अफिस एपहरूको लागि। योजनाले NPM र आन्तरिक सेवा बीचको जडानलाई वर्णन गर्दछ, आगन्तुकहरूले प्रयोग गर्ने कुरा होइन - NPM ढोकामा सार्वजनिक इन्क्रिप्सन ह्यान्डल गर्दछ। आन्तरिक एपले HTTPS सेवा दिँदा मात्र यहाँ https छान्नुहोस्।
फर्वार्ड होस्टनाम / IP: सेवाको आन्तरिक ठेगाना, उदाहरणका लागि 192.168.1.50।
फर्वार्ड पोर्ट: सेवाले वास्तवमा सुन्ने पोर्ट, उदाहरणका लागि 8080 - 80 वा 443 होइन; ती NPM को ढोका हुन्, सेवाका होइनन्।
सक्रिय गर्नुहोस् सामान्य शोषणहरू रोक्नुहोस्, त्यसपछि बचत गर्नुहोस्। ब्राउजरमा नाम खोलेर तुरुन्तै परीक्षण गर्नुहोस् - आदर्श रूपमा तपाईंको फोनबाट Wi-Fi बन्द भएकोले, ताकि तपाईंले वास्तविक सार्वजनिक मार्गको परीक्षण गर्नुहोस्।
localhost गलत छ (NPM को कन्टेनर भित्र, localhost भनेको NPM नै हो) - प्रकाशित पोर्टको साथ सर्भरको LAN IP प्रयोग गर्नुहोस्, वा दुबै कन्टेनरहरू एउटै डकर नेटवर्कमा राख्नुहोस् र कन्टेनरको नाम प्रयोग गर्नुहोस्।नि:शुल्क लेट इन्क्रिप्ट HTTPS प्रमाणपत्र प्राप्त गर्नुहोस्
चरण 6 बाट सादा होस्टले पहिले नै काम गरेपछि मात्र यो गर्नुहोस् - टुटेको होस्टमा HTTPS ले तपाईंलाई प्रमाणपत्रको साथ टुटेको होस्ट दिन्छ, र गल्ती खोज्नको लागि दुई पटक ठाउँहरू। उही प्रोक्सी होस्ट खोल्नुहोस्, SSL ट्याबमा जानुहोस्, SSL प्रमाणपत्र लाई नयाँ SSL प्रमाणपत्र अनुरोध गर्न सेट गर्नुहोस्, सक्षम गर्नुहोस् SSL बल र HTTP/2 समर्थन, अनुमति दिनुहोस् एन्क्रिप्ट गर्नुहोस् र सेवाका सर्तहरू मा सहमत हुनुहोस्। साइट पुन: लोड गर्नुहोस् - ब्राउजरले अब https मा प्याडलक देखाउनु पर्छ।
यसले कसरी काम गर्छ: Encrypt ले तपाइँलाई तपाइँको सर्भरलाई पोर्ट 80 मा सार्वजनिक इन्टरनेटमा एक पटकको टोकन (HTTP-01 चुनौती) देखाउन सोधेर नाम नियन्त्रण गर्न प्रमाणित गर्छ। त्यसैकारण DNS तपाईलाई औंल्याइरहेको छ र पहुँचयोग्य पोर्ट 80 गैर-वार्तालाप योग्य छ - कुनै एक असफल हुन्छ र अनुरोध असफल हुन्छ, र त्रुटि सेटअपमा छ, लेट इन्क्रिप्टमा कहिल्यै हुँदैन। फोर्स एसएसएल ले प्रत्येक http आगन्तुकहरूलाई https मा स्वचालित रूपमा रिडिरेक्ट गर्छ; यो बिना गुप्तिकरण गरिएको ढोका ईन्क्रिप्टेडको छेउमा खुला रहन्छ।
🏷️विषय खोज चर र किवर्डहरू
🎙️ पूर्ण ट्रान्सक्रिप्ट — विस्तार गर्न ट्याप गर्नुहोस्
__TOK_34__
__TOK_35__
__TOK_36__
❓ बारम्बार सोधिने प्रश्नहरू
के यो ट्यूटोरियल 100% पछ्याउन नि: शुल्क छ?
__TOK_37__
के शुरुवातकर्ताहरूले यो गाइड पछ्याउन सक्छन्?
__TOK_38__
म अड्किएमा म कहाँ प्रश्न सोध्न सक्छु?
__TOK_39__