বেশিরভাগ সেল্ফ-হোস্টেড অ্যাপ 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 সার্ভিস কীভাবে তৈরি করবেন।
মন্তব্য
এখনো কোনো মন্তব্য নেই। প্রথম হোন।