زیادہ تر سیلف ہوسٹڈ ایپس 127.0.0.1:3000 جیسے مقامی پورٹ پر سنتی ہیں اور سادہ HTTP بولتی ہیں۔ ایک ریورس پراکسی آگے پورٹ 80/443 پر کھڑی ہوتی ہے، ایک اصلی سرٹیفکیٹ سے HTTPS ختم کرتی ہے اور ٹریفک اُس مقامی پورٹ کو بھیجتی ہے — آپ کو ایک صاف https://app.yourdomain.com دیتی ہے اور ایک ہی IP کے پیچھے کئی ایپس چلانے دیتی ہے۔ یہ رہے دونوں عام راستے۔
پیشگی تقاضے
- ایک ڈومین جس کا A ریکارڈ آپ کے سرور کے IP کی طرف اشارہ کرے (DNS پھیلاؤ کا انتظار کریں)۔
- پورٹ 80 اور 443 کھلے — دیکھیں UFW فائر وال کیسے سیٹ کریں۔
- آپ کی ایپ مقامی طور پر چل رہی ہو، مثلاً
127.0.0.1:3000پر۔
آپشن A — Caddy (خودکار HTTPS، ایک لائن)
sudo apt install -y caddy
echo 'app.yourdomain.com { reverse_proxy 127.0.0.1:3000 }' | sudo tee /etc/caddy/Caddyfile
sudo systemctl restart caddy
بس اتنا ہی — Caddy ڈومین کے لیے ایک Let's Encrypt سرٹیفکیٹ حاصل کرتا ہے اور اسے خودکار تجدید کرتا ہے۔
آپشن B — nginx + Certbot
sudo apt install -y nginx certbot python3-certbot-nginx
/etc/nginx/sites-available/app بنائیں:
server {
listen 80;
server_name app.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
اسے فعال کریں اور HTTPS شامل کریں:
sudo ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d app.yourdomain.com
Certbot HTTPS فراہم کرنے کے لیے کنفیگ میں ترمیم کرتا ہے اور خودکار تجدید ترتیب دیتا ہے۔
ایماندارانہ انتباہ
- DNS اور پورٹ عام ناکامیاں ہیں۔ A ریکارڈ یہاں اشارہ کرے اور پھیل چکا ہو، اور 80/443 قابلِ رسائی ہوں، ورنہ سرٹیفکیٹ کا اجرا ناکام ہوگا۔ درست ہوتے ہی دونوں اوزار دوبارہ کوشش کرتے ہیں۔
- صرف وہی ظاہر کریں جو آپ چاہتے ہیں۔ ایپ کو
127.0.0.1سے بندھا رکھیں تاکہ وہ صرف پراکسی کے ذریعے قابلِ رسائی ہو، براہِ راست نہیں۔ - HTTPS کو ایک ڈومین چاہیے، ننگا IP نہیں — Let's Encrypt ناموں کے لیے جاری کرتا ہے۔
اگلے قدم
ریورس پراکسی ہی وہ چیز ہے جو ایک سرور کو بہت کچھ فراہم کرنے دیتی ہے — دیکھیں ایک ہی IP کے پیچھے کئی سروسز کی سیلف ہوسٹنگ۔ ایپ کو کنٹینر میں چلا رہے ہیں؟ Docker کیسے انسٹال کریں سے شروع کریں۔ ایپ خود ری اسٹارٹ اور کریش کے باوجود زندہ رہے، اس کے لیے دیکھیں systemd سروس کیسے بنائیں۔
تبصرے
ابھی کوئی تبصرہ نہیں۔ پہلے بنیں۔