Nginx پراکسی مینیجر انسٹال - 2 منٹ سیٹ اپ گائیڈ
آپ کی خدمات فی الحال بدصورت پتوں پر رہتی ہیں جیسے 192.168.1.50:8080۔ Nginx پراکسی مینیجر انہیں مفت HTTPS کے ساتھ app.yourdomain.com جیسے صاف ناموں میں بدل دیتا ہے - ایک ڈوکر کمپوز فائل کے ساتھ انسٹال ہوتا ہے اور ہاتھ سے لکھی گئی کنفگ فائلوں کی بجائے ایک سادہ ویب پینل سے منظم کیا جاتا ہے۔
📑باب
- ایک ریورس پراکسی کیا کرتی ہے - آپ کی تمام خدمات کے لیے ایک دروازہ
- شروع کرنے سے پہلے آپ کو کیا چاہیے - Docker، ایک ڈومین، اور قابل رسائی بندرگاہیں
- کچھ بھی انسٹال کرنے سے پہلے اپنے ڈومین DNS کو سرور کی طرف پوائنٹ کریں
- فولڈر اور docker-compose.yml فائل بنائیں
- ایک کمانڈ کے ساتھ Nginx پراکسی مینیجر شروع کریں
- پہلا لاگ ان - ایڈمن اکاؤنٹ مرحلہ ہر ایک غلط ہو جاتا ہے
- اپنا پہلا پراکسی ہوسٹ بنائیں، فیلڈ بہ فیلڈ
- مفت Lets Encrypt HTTPS سرٹیفکیٹ حاصل کریں اور فورس SSL کو آن کریں
📋 جائزہ اور مرحلہ وار گائیڈ
شروع کرنے سے پہلے آپ کو کیا ضرورت ہے۔
Nginx Proxy Manager (NPM) کے کام کرنے سے پہلے تین چیزوں کا ہونا ضروری ہے۔ سب سے پہلے، ڈوکر اور ڈوکر کمپوز کے ساتھ ایک لینکس سرور یا پی سی پہلے سے انسٹال اور کام کر رہا ہے - NPM ایک کنٹینر کے طور پر چلتا ہے، عام پروگرام کے طور پر نہیں۔ دوسرا، ایک ڈومین نام جس کے DNS میں آپ ترمیم کر سکتے ہیں، کیونکہ ہر سروس کو اپنا ذیلی ڈومین ملتا ہے۔ تیسرا، آپ کا راؤٹر یا کلاؤڈ فائر وال اس مشین پر پورٹ 80 اور 443 کو فارورڈ کرنے کے قابل ہونا چاہیے۔
اپنے ڈومین DNS کو پہلے سرور کی طرف اشارہ کریں۔
NPM ٹریفک کو نام سے روٹ کرتا ہے، اور Encrypt کو صرف ان ناموں کے لیے سرٹیفکیٹ جاری کرنے دیتا ہے جو آپ کی مشین کی طرف اشارہ کرتے ہیں - لہذا نام کو اس پر کچھ بھی بنانے سے پہلے حل کرنا ہوگا۔ اپنے رجسٹرار یا DNS میزبان پر، ایک A ریکارڈ شامل کریں: نام صرف ذیلی ڈومین لفظ ہے (مثال کے طور پر app) اور قدر آپ کے سرور کا عوامی IP پتہ ہے۔ ہر سروس کو اپنا ریکارڈ ملتا ہے، اور وہ سب ایک ہی IP کی طرف اشارہ کر سکتے ہیں - NPM بعد میں خدمات کو نام سے الگ کرتا ہے۔ ٹیسٹ کے دوران ایک مختصر ٹی ٹی ایل سیٹ کریں جیسے کہ 300 سیکنڈ، تاکہ غلطیاں گھنٹوں کے بجائے منٹوں میں ختم ہو جائیں۔
جاری رکھنے سے پہلے اسے ثابت کریں: چیک کریں کہ نام باہر کے نیٹ ورک سے آپ کے عوامی IP پر حل ہوتا ہے (مثال کے طور پر آپ کے فون سے Wi-Fi بند ہے)۔ ٹوٹے ہوئے 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 میں 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 بند ہے، تاکہ آپ حقیقی عوامی راستے کی جانچ کریں۔
localhost غلط ہے (NPM کے کنٹینر کے اندر، لوکل ہوسٹ کا مطلب خود NPM ہے) - شائع شدہ پورٹ کے ساتھ سرور کا LAN IP استعمال کریں، یا دونوں کنٹینرز کو ایک ہی Docker نیٹ ورک پر رکھیں اور کنٹینر کا نام استعمال کریں۔مفت لیٹس انکرپٹ 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 پر بھیج دیتا ہے۔ اس کے بغیر غیر خفیہ شدہ دروازہ خفیہ کردہ دروازے کے ساتھ کھلا رہتا ہے۔
🏷️موضوع کی تلاش کے متغیرات اور مطلوبہ الفاظ
🎙️ مکمل ٹرانسکرپٹ — پھیلانے کے لیے تھپتھپائیں۔
__TOK_34__
__TOK_35__
__TOK_36__
❓ اکثر پوچھے جانے والے سوالات
کیا یہ ٹیوٹوریل پیروی کرنے کے لیے 100% مفت ہے؟
__TOK_37__
کیا مبتدی اس گائیڈ پر عمل کر سکتے ہیں؟
__TOK_38__
اگر میں پھنس گیا ہوں تو میں کہاں سوال پوچھ سکتا ہوں؟
__TOK_39__