हमसे संपर्क करें

info@serverion.com

हमें बुलाओ

+1 (302) 380 3902

एक सुरक्षित Nginx रिवर्स प्रॉक्सी बनाने की पूरी गाइड

एक सुरक्षित Nginx रिवर्स प्रॉक्सी बनाने की पूरी गाइड

उच्च-ट्रैफ़िक वाली वेबसाइटों या जटिल एप्लिकेशन को प्रबंधित करने वाले व्यवसायों और आईटी पेशेवरों के लिए एक सुरक्षित, विश्वसनीय और स्केलेबल रिवर्स प्रॉक्सी बनाना बेहद ज़रूरी है। Nginx, एक ओपन-सोर्स वेब सर्वर और रिवर्स प्रॉक्सी, आपकी बैकएंड सेवाओं के ट्रैफ़िक को रूट करने, अनुकूलित करने और सुरक्षित करने का एक शक्तिशाली समाधान है। इस गाइड में, हम Ubuntu 24.04 पर Nginx का उपयोग करके एक मज़बूत रिवर्स प्रॉक्सी सेटअप करने की प्रक्रिया को समझाएँगे, जिसमें TLS एन्क्रिप्शन, रेट लिमिटिंग और क्लाउडफ्लेयर के साथ एकीकरण जैसे महत्वपूर्ण चरण शामिल होंगे।

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

Nginx रिवर्स प्रॉक्सी क्या है?

Nginx रिवर्स प्रॉक्सी क्लाइंट और बैकएंड सेवाओं के बीच एक मध्यस्थ सर्वर के रूप में कार्य करता है। यह क्लाइंट अनुरोधों को उपयुक्त बैकएंड सर्वर पर अग्रेषित करता है, लोड वितरण को अनुकूलित करता है, सुरक्षा बढ़ाता है, और कैशिंग, SSL समाप्ति और ट्रैफ़िक फ़िल्टरिंग जैसी सुविधाओं को सक्षम करता है। यह सेटअप फ़ायरवॉल के पीछे मीडिया सर्वर, मल्टी-साइट एप्लिकेशन और सेवाओं को होस्ट करने के लिए विशेष रूप से उपयोगी है।

आपको रिवर्स प्रॉक्सी की आवश्यकता क्यों है?

रिवर्स प्रॉक्सी कई प्रमुख लाभ प्रदान करता है:

  • सुरक्षा बढ़ाना: बैकएंड सर्वर के आईपी को छुपाता है और टीएलएस/एसएसएल के माध्यम से एन्क्रिप्शन सक्षम करता है।
  • भार का संतुलन: ट्रैफ़िक को एकाधिक बैकएंड सर्वरों पर समान रूप से वितरित करता है।
  • अनुकूलन: विलंबता कम करता है और संसाधन दक्षता में सुधार करता है।
  • अनुमापकता: उच्च-ट्रैफ़िक परिदृश्यों का प्रबंधन करना आसान बनाता है।
  • प्रबंधन में आसानी: एकीकृत डोमेन के पीछे एकाधिक बैकएंड सेवाओं के कॉन्फ़िगरेशन को सरल बनाता है।

इस ट्यूटोरियल में हम दिखाएंगे कि कैसे:

  • Nginx को रिवर्स प्रॉक्सी के रूप में सेट करें।
  • Let's Encrypt TLS प्रमाणपत्रों के साथ अपने सेटअप को सुरक्षित करें।
  • दर सीमित करने और अनुरोध अग्रेषण जैसे उन्नत अनुकूलन कॉन्फ़िगर करें.
  • ISP पोर्ट प्रतिबंधों को बायपास करने के लिए क्लाउडफ्लेयर को एकीकृत करें।

चरण 1: Ubuntu 24.04 पर Nginx और Certbot स्थापित करना

अपना सिस्टम अपडेट करें

किसी भी सॉफ्टवेयर को स्थापित करने से पहले सुनिश्चित करें कि आपका सिस्टम अद्यतन है:

sudo apt अपडेट && sudo apt अपग्रेड 

Nginx और Certbot स्थापित करें

Nginx प्लगइन के साथ Nginx और Certbot को स्थापित करने के लिए निम्नलिखित कमांड का उपयोग करें:

sudo apt install nginx -y sudo apt install certbot python3-certbot-nginx -y 

स्थापना सत्यापित करें

पुष्टि करें कि Nginx चल रहा है:

sudo systemctl स्थिति nginx 

पहुँच का परीक्षण करने के लिए, अपने सर्वर का IP पता निर्धारित करें:

आईपी ए 

ब्राउज़र में IP पता देखें। सफल होने पर, आपको डिफ़ॉल्ट Nginx स्वागत पृष्ठ दिखाई देगा।

चरण 2: फ़ायरवॉल नियमों को कॉन्फ़िगर करना

सरल फ़ायरवॉल (UFW) सक्षम करें

UFW आपको फ़ायरवॉल नियमों को आसानी से प्रबंधित करने की अनुमति देता है:

sudo ufw 'Nginx Full' को अनुमति दें sudo ufw OpenSSH को अनुमति दें sudo ufw सक्षम करें 

यह सुनिश्चित करने के लिए कि सही पोर्ट खुले हैं, अपने फ़ायरवॉल की स्थिति जांचें:

sudo ufw स्थिति 

चरण 3: Nginx प्रॉक्सी कॉन्फ़िगरेशन सेट अप करना

कस्टम कॉन्फ़िगरेशन फ़ाइलें बनाएँ

बेहतर लचीलेपन और सुरक्षा के लिए, विशिष्ट कॉन्फ़िगरेशन संग्रहीत करने के लिए स्निपेट फ़ाइलों का उपयोग करें। निम्नलिखित फ़ाइलें बनाएँ:

  1. सुरक्षा हेडर:
    सुडो नैनो /etc/nginx/snippets/security-headers.conf 
    सुरक्षा बढ़ाने के लिए सुरक्षा हेडर परिभाषित करें:
    add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; add_header X-XSS-Protection "1; mode=block"; 
  2. प्रॉक्सी सेटिंग्स:
    सुडो नैनो /etc/nginx/snippets/proxy.conf 
    लंबी स्ट्रीम को अनुकूलित करें और धीमी प्रतिक्रियाओं को रोकें:
    proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; 
  3. दर सीमाएँ:
    सुडो नैनो /etc/nginx/snippets/rate-limit.conf 
    अत्यधिक अनुरोधों को कम करें:
    limit_req_zone $binary_remote_addr ज़ोन=mylimit:10m दर=10r/s; 

मुख्य कॉन्फ़िगरेशन में स्निपेट शामिल करें

मुख्य Nginx कॉन्फ़िगरेशन संपादित करें:

सुडो नैनो /etc/nginx/nginx.conf 

के अंतर्गत निम्नलिखित जोड़ें एचटीटीपी अवरोध पैदा करना:

/etc/nginx/snippets/*.conf शामिल करें; 

परिवर्तन लागू करने के लिए Nginx को पुनः आरंभ करें:

sudo systemctl पुनः लोड nginx 

चरण 4: बैकएंड सेवा के लिए रिवर्स प्रॉक्सी सेट अप करना

एक वर्चुअल होस्ट बनाएँ

अपनी बैकएंड सेवा के लिए एक कॉन्फ़िगरेशन फ़ाइल बनाएँ:

sudo nano /etc/nginx/sites-available/jellyfin 

जेलीफिन मीडिया सर्वर के लिए उदाहरण कॉन्फ़िगरेशन:

सर्वर { listen 80; server_name jelly.yourdomain.com; स्थान / { proxy_pass http://10.10.0.112:8096; include /etc/nginx/snippets/proxy.conf; } } 

प्रतीकात्मक लिंक बनाकर साइट को सक्षम करें:

sudo ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/ 

Nginx का परीक्षण करें और पुनः लोड करें:

sudo nginx -t sudo systemctl पुनः लोड nginx 

चरण 5: Let's Encrypt TLS के साथ अपने डोमेन को सुरक्षित करना

अपने डोमेन को सुरक्षित करने के लिए, निःशुल्क प्रमाणपत्र जारी करने हेतु Let's Encrypt का उपयोग करें:

sudo certbot --nginx -d जेली.yourdomain.com 

Certbot आपकी Nginx साइट फ़ाइल में SSL को स्वचालित रूप से कॉन्फ़िगर करता है। यह सुनिश्चित करने के लिए कि प्रमाणपत्र स्वचालित रूप से नवीनीकृत हों, सत्यापित करें कि systemd टाइमर सक्रिय है:

sudo systemctl list-timers | grep certbot 

चरण 6: अतिरिक्त सुरक्षा और ISP पोर्ट बाईपास के लिए क्लाउडफ्लेयर को एकीकृत करना

क्लाउडफ्लेयर्ड इंस्टॉल करें

क्लाउडफ्लेयर, पोर्ट 80 और 443 पर ISP प्रतिबंधों को दरकिनार करते हुए, क्लाउडफ्लेयर के माध्यम से ट्रैफ़िक को रूट करने के लिए एक सुरक्षित सुरंग बनाता है:

  1. डाउनलोड करें .देब पैकेज क्लाउडफ्लेयर के GitHub पेज से लिया गया है।
  2. पैकेज स्थापित करें:
    sudo dpkg -i cloudflared-version.deb 

सुरंग कॉन्फ़िगर करें

अपने क्लाउडफ्लेयर खाते से प्रमाणीकरण करें:

क्लाउडफ्लेयर्ड टनल लॉगिन 

एक नई सुरंग बनाएं:

क्लाउडफ्लेयर्ड सुरंग मेरी सुरंग बनाएं 

क्लाउडफ्लेयर कॉन्फ़िगरेशन फ़ाइल संपादित करें:

सुडो नैनो /etc/cloudflared/config.yml 

उदाहरण विन्यास:

सुरंग: मेरी-सुरंग क्रेडेंशियल-फ़ाइल: /home/user/.cloudflared/my-tunnel.json प्रवेश: - होस्टनाम: jelly.yourdomain.com सेवा: http://localhost:8096 - सेवा: http_status:404 

सुरंग सेवा प्रारंभ करें और सक्षम करें:

sudo systemctl cloudflared सक्षम करें sudo systemctl cloudflared प्रारंभ करें 

चाबी छीनना

  • Nginx रिवर्स प्रॉक्सी: ट्रैफ़िक को सुरक्षित रूप से रूट करने और बैकएंड सेवाओं को अनुकूलित करने के लिए आवश्यक।
  • TLS एन्क्रिप्शन: अपने डोमेन को निःशुल्क SSL प्रमाणपत्रों से सुरक्षित करने के लिए Let's Encrypt का उपयोग करें।
  • फ़ायरवॉल नियम: HTTP (80), HTTPS (443), और SSH (22) के लिए आवश्यक पोर्ट खोलें।
  • सुरक्षा अनुकूलन: हमलों को रोकने के लिए हेडर और दर सीमित करना लागू करें।
  • क्लाउडफ्लेयर एकीकरणसुरक्षित, ISP-अनुकूल होस्टिंग के लिए क्लाउडफ्लेयर्ड टनल का उपयोग करें।
  • स्वचालन: सिस्टमड टाइमर यह सुनिश्चित करते हैं कि SSL प्रमाणपत्र स्वचालित रूप से नवीनीकृत हो जाएं।

निष्कर्ष

एक सुरक्षित Nginx रिवर्स प्रॉक्सी सेटअप करने के लिए बारीकियों पर ध्यान देने और सावधानीपूर्वक कॉन्फ़िगरेशन की आवश्यकता होती है, लेकिन इसके परिणाम प्रयास के लायक हैं। चाहे आप जेलीफ़िन जैसे मीडिया सर्वर होस्ट कर रहे हों या एंटरप्राइज़ एप्लिकेशन प्रबंधित कर रहे हों, यह मार्गदर्शिका आपको एक अत्यधिक सुरक्षित और कुशल वातावरण बनाने के लिए आवश्यक उपकरण और ज्ञान प्रदान करती है। TLS, क्लाउडफ्लेयर टनल और उन्नत ऑप्टिमाइज़ेशन जैसी सुविधाओं के साथ, आपका इंफ्रास्ट्रक्चर आधुनिक आवश्यकताओं के लिए तैयार है।

स्रोत: "अपने ऐप्स को सार्वजनिक करना बंद करें! एक सुरक्षित Nginx रिवर्स प्रॉक्सी बनाएँ!" - KeepItTechie, YouTube, 19 अगस्त, 2025 - https://www.youtube.com/watch?v=MzbhS2S7H_g

उपयोग: संदर्भ हेतु सन्निहित। संक्षिप्त उद्धरण टिप्पणी/समीक्षा हेतु प्रयुक्त।

संबंधित ब्लॉग पोस्ट

hi_IN