Technical Anshu ہوم › ٹیوٹوریلز › Nginx پراکسی مینیجر انسٹال کریں۔
🐳 ڈوکر ریورس پراکسی

Nginx پراکسی مینیجر انسٹال - 2 منٹ سیٹ اپ گائیڈ

آپ کی خدمات فی الحال بدصورت پتوں پر رہتی ہیں جیسے 192.168.1.50:8080۔ Nginx پراکسی مینیجر انہیں مفت HTTPS کے ساتھ app.yourdomain.com جیسے صاف ناموں میں بدل دیتا ہے - ایک ڈوکر کمپوز فائل کے ساتھ انسٹال ہوتا ہے اور ہاتھ سے لکھی گئی کنفگ فائلوں کی بجائے ایک سادہ ویب پینل سے منظم کیا جاتا ہے۔

✍️ Technical Anshu🐳 Docker Compose🎧 Multi-Language Audio
Nginx پراکسی مینیجر انسٹال - 2 منٹ سیٹ اپ گائیڈ
🎧 Multi-Language Audio: Video player [Settings] (⚙️) ➔ [Audio Track]

📑باب

  1. ایک ریورس پراکسی کیا کرتی ہے - آپ کی تمام خدمات کے لیے ایک دروازہ
  2. شروع کرنے سے پہلے آپ کو کیا چاہیے - Docker، ایک ڈومین، اور قابل رسائی بندرگاہیں
  3. کچھ بھی انسٹال کرنے سے پہلے اپنے ڈومین DNS کو سرور کی طرف پوائنٹ کریں
  4. فولڈر اور docker-compose.yml فائل بنائیں
  5. ایک کمانڈ کے ساتھ Nginx پراکسی مینیجر شروع کریں
  6. پہلا لاگ ان - ایڈمن اکاؤنٹ مرحلہ ہر ایک غلط ہو جاتا ہے
  7. اپنا پہلا پراکسی ہوسٹ بنائیں، فیلڈ بہ فیلڈ
  8. مفت Lets Encrypt HTTPS سرٹیفکیٹ حاصل کریں اور فورس SSL کو آن کریں

📋 جائزہ اور مرحلہ وار گائیڈ

1

شروع کرنے سے پہلے آپ کو کیا ضرورت ہے۔

Nginx Proxy Manager (NPM) کے کام کرنے سے پہلے تین چیزوں کا ہونا ضروری ہے۔ سب سے پہلے، ڈوکر اور ڈوکر کمپوز کے ساتھ ایک لینکس سرور یا پی سی پہلے سے انسٹال اور کام کر رہا ہے - NPM ایک کنٹینر کے طور پر چلتا ہے، عام پروگرام کے طور پر نہیں۔ دوسرا، ایک ڈومین نام جس کے DNS میں آپ ترمیم کر سکتے ہیں، کیونکہ ہر سروس کو اپنا ذیلی ڈومین ملتا ہے۔ تیسرا، آپ کا راؤٹر یا کلاؤڈ فائر وال اس مشین پر پورٹ 80 اور 443 کو فارورڈ کرنے کے قابل ہونا چاہیے۔

📌 عنوان میں "2 منٹ" کے بارے میں: کنٹینر کا آغاز خود ہی حقیقی طور پر تیز ہوتا ہے - لیکن صرف ایک بار جب ڈوکر پہلے سے انسٹال ہوتا ہے اور اس گائیڈ میں تیاری مکمل ہوجاتی ہے۔ ایک تازہ مشین پر، سیٹ اپ، DNS اور سرٹیفکیٹ کے مراحل کے لیے مناسب وقت دیں۔ ایماندار کل دو منٹ سے زیادہ طویل ہے.
⚠️ CGNAT کے پیچھے ہوم کنکشن پر، پورٹ فارورڈنگ بالکل کام نہیں کر سکتی - NPM کے اندر کوئی سیٹنگ اسے ٹھیک نہیں کرتی ہے۔ اس کے بعد ایماندار اختیارات آپ کے ISP سے ایک عوامی/جامد IP، ایک چھوٹا کرایہ پر لیا ہوا VPS، یا اس کے بجائے ایک ٹنل ٹول ہیں۔ اس چیک کو نہ چھوڑیں: تمام "NPM کام نہیں کرتا" کہانیوں میں سے نصف واقعی "بندرگاہیں سرور تک نہیں پہنچی" کہانیاں ہیں۔
2

اپنے ڈومین DNS کو پہلے سرور کی طرف اشارہ کریں۔

NPM ٹریفک کو نام سے روٹ کرتا ہے، اور Encrypt کو صرف ان ناموں کے لیے سرٹیفکیٹ جاری کرنے دیتا ہے جو آپ کی مشین کی طرف اشارہ کرتے ہیں - لہذا نام کو اس پر کچھ بھی بنانے سے پہلے حل کرنا ہوگا۔ اپنے رجسٹرار یا DNS میزبان پر، ایک A ریکارڈ شامل کریں: نام صرف ذیلی ڈومین لفظ ہے (مثال کے طور پر app) اور قدر آپ کے سرور کا عوامی IP پتہ ہے۔ ہر سروس کو اپنا ریکارڈ ملتا ہے، اور وہ سب ایک ہی IP کی طرف اشارہ کر سکتے ہیں - NPM بعد میں خدمات کو نام سے الگ کرتا ہے۔ ٹیسٹ کے دوران ایک مختصر ٹی ٹی ایل سیٹ کریں جیسے کہ 300 سیکنڈ، تاکہ غلطیاں گھنٹوں کے بجائے منٹوں میں ختم ہو جائیں۔

جاری رکھنے سے پہلے اسے ثابت کریں: چیک کریں کہ نام باہر کے نیٹ ورک سے آپ کے عوامی IP پر حل ہوتا ہے (مثال کے طور پر آپ کے فون سے Wi-Fi بند ہے)۔ ٹوٹے ہوئے DNS فضلات کے خلاف سرٹیفکیٹ کی درخواست کرنے سے خفیہ کاری کی کوششیں ہونے دیتی ہیں، اور بار بار ناکامی آپ کو گھنٹوں کے لیے ریٹ محدود کر سکتی ہے۔ آرڈر کی اہمیت ہے: ڈی این ایس پہلے، پراکسی ہوسٹ دوسرا، سرٹیفکیٹ تیسرا۔

3

فولڈر اور کمپوز فائل بنائیں

سرور پر NPM کے لیے ایک فولڈر بنائیں اور نیچے فائل کو اس کے اندر docker-compose.yml کے بطور محفوظ کریں۔ یہ واحد فائل مکمل انسٹالیشن ہے۔ تصویر کا نام آفیشل کمیونٹی امیج ہے۔ پورٹ 80 اور 443 عوامی دروازے ہیں، پورٹ 81 ایڈمن پینل ہے، اور دو جلدیں وہ ہیں جہاں آپ کا پورا سیٹ اپ رہتا ہے: ./data آپ کے تمام پراکسی میزبانوں کے ساتھ ڈیٹا بیس رکھتا ہے، اور ./letsencrypt آپ کے سرٹیفکیٹ رکھتا ہے۔ ان دو فولڈرز کو کھو دیں اور آپ پورا سیٹ اپ کھو دیں گے - چیزیں چلنے کے بعد ان کا بیک اپ لیں۔

docker-compose.yml
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 کو خود بخود واپس لاتی ہے۔

4

Nginx پراکسی مینیجر شروع کریں۔

اس فولڈر کے اندر سے، اسٹارٹ کمانڈ چلائیں۔ ڈوکر تصویر کو ڈاؤن لوڈ کرتا ہے اور کنٹینر کو پس منظر میں شروع کرتا ہے۔

Terminal
docker compose up -d

چیک کریں کہ یہ چل رہا ہے:

Terminal
docker ps

آپ کو پورٹ 80، 443 اور 81 کے ساتھ درج کنٹینر دیکھنا چاہیے۔ ایک چھوٹے سرور پر ڈیٹا بیس بننے کے دوران پہلی شروعات میں ایک یا دو منٹ لگتے ہیں۔ اگر کنٹینر دوبارہ شروع ہوتا رہتا ہے، تو لاگز سادہ زبان میں وجہ دکھاتے ہیں:

Terminal
docker compose logs

دس میں سے نو بار ری اسٹارٹ لوپ ایک پورٹ ہے جو پہلے ہی میزبان پر کسی اور چیز کے ذریعہ استعمال کیا جاتا ہے - عام طور پر ایک پرانا ویب سرور اب بھی چل رہا ہے۔

5

پہلا لاگ ان - ایڈمن اکاؤنٹ کو فوری طور پر محفوظ کریں۔

اپنے نیٹ ورک پر براؤزر میں ایڈمن پینل کھولیں:

Browser Address Bar
http://your-server-ip:81

یہ کام پہلے منٹ میں کریں۔ تعمیر پر منحصر ہے، NPM یا تو آپ سے معروف فرسٹ لاگ ان ایڈمنسٹریٹر کی تفصیلات کو آپ کے اپنے ای میل اور ایک مضبوط پاس ورڈ سے تبدیل کرنے کے لیے کہتا ہے، یا - بغیر ڈیفالٹ اکاؤنٹ کے نئی بلڈز پر - ایڈمن پیج کھولنے والا پہلا شخص ایڈمنسٹریٹر بناتا ہے۔ کسی بھی طرح سے قاعدہ ایک جیسا ہی ہے: کنٹینر کے شروع ہوتے ہی اپنا ایڈمن اکاؤنٹ ترتیب دیں، کچھ اور بنانے سے پہلے، اور ایک حقیقی میل باکس استعمال کریں - NPM ای میلز جو سرٹیفکیٹ کے مسائل کو حل کرتی ہیں۔

⚠️ پورٹ 81 کو عوامی طور پر قابل رسائی نہ چھوڑیں جب تک کہ آپ اسے "بعد میں ختم کریں"۔ انٹرنیٹ پر جو کوئی بھی پینل کو تلاش کرتا ہے وہ پہلے آپ کی پراکسی کا مالک ہے۔ ایڈمن پینل کو صرف اپنے نیٹ ورک پر رکھیں۔
6

اپنا پہلا پراکسی ہوسٹ بنائیں

NPM میں Hosts → Proxy Hosts → Proxy Host شامل کریں کھولیں اور فارم کو ایک جملے کے طور پر پُر کریں - "یہ نام اس داخلی خدمت کو جاتا ہے":

ڈومین کے نام: app.yourdomain.com - مرحلہ 2 سے صحیح عوامی نام، جسے آپ کے سرور پر پہلے ہی حل کرنا ضروری ہے۔
سکیم: http زیادہ تر گھر اور دفتری ایپس کے لیے۔ اسکیم NPM اور اندرونی سروس کے درمیان تعلق کو بیان کرتی ہے، نہ کہ زائرین کیا استعمال کرتے ہیں - NPM دروازے پر عوامی خفیہ کاری کو ہینڈل کرتا ہے۔ یہاں https کا انتخاب صرف اس صورت میں کریں جب اندرونی ایپ خود HTTPS کو پیش کرے۔
فارورڈ میزبان نام / IP: سروس کا اندرونی پتہ، مثال کے طور پر 192.168.1.50۔
فارورڈ پورٹ: وہ پورٹ جس پر سروس اصل میں سنتی ہے، مثال کے طور پر 8080 - 80 یا 443 نہیں؛ وہ NPM کے دروازے ہیں، سروس کے نہیں۔

بلاک کامن ایکسپلائٹس کو آن کریں، پھر محفوظ کریں۔ براؤزر میں نام کھول کر فوری جانچ کریں - مثالی طور پر آپ کے فون سے Wi-Fi بند ہے، تاکہ آپ حقیقی عوامی راستے کی جانچ کریں۔

✅ NPM کی طرف سے 502 خراب گیٹ وے ایک نشانی ہے، ناکامی نہیں: اس کا مطلب ہے کہ باہر کی دنیا NPM تک بالکل پہنچ گئی ہے اور صرف آخری اندرونی ہاپ - میزبان نام یا بندرگاہ - غلط ہے۔ اس فیلڈ کو ٹھیک کریں، پورے سیٹ اپ کو نہیں۔ ایک اور ٹریپ: اگر سروس دوسرے ڈوکر کنٹینر میں چلتی ہے تو، localhost غلط ہے (NPM کے کنٹینر کے اندر، لوکل ہوسٹ کا مطلب خود NPM ہے) - شائع شدہ پورٹ کے ساتھ سرور کا LAN IP استعمال کریں، یا دونوں کنٹینرز کو ایک ہی Docker نیٹ ورک پر رکھیں اور کنٹینر کا نام استعمال کریں۔
7

مفت لیٹس انکرپٹ HTTPS سرٹیفکیٹ حاصل کریں۔

یہ صرف اس کے بعد کریں جب مرحلہ 6 سے سادہ میزبان پہلے سے کام کرتا ہے - ٹوٹے ہوئے میزبان پر HTTPS آپ کو سرٹیفکیٹ کے ساتھ ٹوٹا ہوا میزبان، اور غلطی کو تلاش کرنے کے لیے دو بار جگہ دیتا ہے۔ اسی پراکسی ہوسٹ کو کھولیں، SSL ٹیب پر جائیں، SSL سرٹیفکیٹ کو ایک نئے SSL سرٹیفکیٹ کی درخواست کریں پر سیٹ کریں، SSL کو مجبور کریں اور HTTP/2 سپورٹ کو فعال کریں، Les Encrypt کی سروس کی شرائط اور Sa Sai سے اتفاق کریں۔ سائٹ کو دوبارہ لوڈ کریں - براؤزر کو اب https پر پیڈ لاک دکھانا چاہیے۔

یہ کیسے کام کرتا ہے: Les Encrypt ثابت کرتا ہے کہ آپ اپنے سرور سے، پورٹ 80 پر عوامی انٹرنیٹ پر، ایک وقتی ٹوکن (HTTP-01 چیلنج) دکھانے کے لیے کہہ کر نام کو کنٹرول کرتے ہیں۔ یہی وجہ ہے کہ آپ کی طرف اشارہ کرنے والا DNS اور قابل رسائی پورٹ 80 ناقابل گفت و شنید ہیں - دونوں میں سے ایک فیل ہو جاتا ہے اور درخواست ناکام ہو جاتی ہے، اور غلطی سیٹ اپ میں ہے، Lets Encrypt میں کبھی نہیں۔ SSL کو مجبور کریں ہر HTTP وزیٹر کو خود بخود https پر بھیج دیتا ہے۔ اس کے بغیر غیر خفیہ شدہ دروازہ خفیہ کردہ دروازے کے ساتھ کھلا رہتا ہے۔

📌 سرٹیفکیٹس 90 دن تک زندہ رہتے ہیں اور NPM اسی پورٹ-80 ثبوت کا استعمال کرتے ہوئے، عام طور پر ختم ہونے سے تقریباً ایک ماہ پہلے، خود بخود ان کی تجدید کر دیتا ہے۔ اگر تجدید کبھی ناکام ہو جاتی ہے تو پہلے بورنگ اسباب کو چیک کریں: DNS تبدیل کر دیا گیا، راؤٹر فارورڈنگ ہٹا دیا گیا، یا پورٹ 80 بلاک ہو گیا۔ HSTS کو صرف ایک بار فعال کریں جب کوئی سروس طے ہوجائے اور تجدید ثابت ہوجائے - یہ ایک مضبوط وعدہ ہے جو براؤزر مہینوں تک یاد رکھتے ہیں۔

🏷️موضوع کی تلاش کے متغیرات اور مطلوبہ الفاظ

🔍 Nginx Proxy Manager 🔍 Reverse Proxy 🔍 Docker Compose 🔍 Lets Encrypt 🔍 Free HTTPS 🔍 Proxy Host 🔍 TechnicalAnshu 🔍 Self Hosting 🔍 Subdomain Setup 🔍 Port 80 443 81 🔍 Force SSL 🔍 Home Server
🎙️ مکمل ٹرانسکرپٹ — پھیلانے کے لیے تھپتھپائیں۔

__TOK_34__

__TOK_35__

__TOK_36__

❓ اکثر پوچھے جانے والے سوالات

کیا یہ ٹیوٹوریل پیروی کرنے کے لیے 100% مفت ہے؟

__TOK_37__

کیا مبتدی اس گائیڈ پر عمل کر سکتے ہیں؟

__TOK_38__

اگر میں پھنس گیا ہوں تو میں کہاں سوال پوچھ سکتا ہوں؟

__TOK_39__

🚀 YouTube پر مکمل ٹیوٹوریل دیکھیں

__TOK_40__

__TOK_41__

▶️ مکمل ویڈیو دیکھیں
یہ ٹیوٹوریل ٹیکنیکل انشو کے Nginx پراکسی مینیجر انسٹال ویڈیو پر مبنی ہے • کسی بھی قدم پر پھنس گیا ہے؟ ویڈیو کے تبصروں میں پوچھیں — آپ کو وہاں مدد ملے گی۔