কিভাবে Nginx রিভার্স প্রক্সি সেট আপ করবেন
আপনার VPS-এ WebSocket সমর্থন এবং SSL সহ Nginx-এর মাধ্যমে Proxy Node.js, Docker বা অন্যান্য অ্যাপ।

একটি বিপরীত প্রক্সি Nginx কে সর্বজনীন HTTP/HTTPS ট্র্যাফিক গ্রহণ করতে এবং এটিকে ব্যাকএন্ড অ্যাপে ফরোয়ার্ড করতে দেয় (পোর্ট 3000, ডকার কন্টেনার, পাইথন এপিআইগুলিতে Node.js)। একটি গোপন ভিপিএসে উত্পাদন স্থাপনার জন্য অপরিহার্য।
পূর্বশর্ত
- Nginx ইনস্টল এবং চলমান
- লোকালহোস্টে ব্যাকএন্ড অ্যাপ শোনা (যেমন 127.0.0.1:3000)
- ডোমেন আপনার ভিপিএসে নির্দেশিত (SSL এর জন্য)
- পোর্ট 80 এবং 443 ফায়ারওয়ালে খোলা
বেসিক রিভার্স প্রক্সি কনফিগারেশন
আপনার ডোমেনের জন্য একটি সাইট কনফিগার তৈরি করুন:
server {
listen 80;
server_name app.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
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;
}
}
sudo nginx -t && sudo systemctl reload nginxওয়েবসকেট সমর্থন
Socket.io, অনেক ড্যাশবোর্ড এবং রিয়েলটাইম অ্যাপের জন্য প্রয়োজনীয়:
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}Certbot এর সাথে HTTPS যোগ করুন
HTTP কাজ করার পরে, একটি বিনামূল্যে শংসাপত্র ইস্যু করুন:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d app.yourdomain.com
# Certbot will update your server block for SSL automaticallyটিপস
- প্রয়োজনে স্ট্রিমিং/এসএসই-এর জন্য প্রক্সি_বাফারিং বন্ধ ব্যবহার করুন
- ফাইল আপলোডের জন্য ক্লায়েন্ট_max_body_size সেট করুন
- বিভিন্ন সাবডোমেনে একাধিক ব্যাকএন্ড চালান
- একাধিক ব্যাকএন্ড লোড ব্যালেন্স করার জন্য আপস্ট্রিম ব্লক ব্যবহার করুন
- 502 খারাপ গেটওয়ে পেলে error.log চেক করুন
Nginx রিভার্স প্রক্সি হল ব্যাকএন্ড অ্যাপগুলিকে নিরাপদে প্রকাশ করার আদর্শ উপায়। প্রক্সি হেডার কনফিগার করুন, প্রয়োজনে WebSocket যোগ করুন, তারপর Certbot এর সাথে SSL সক্ষম করুন।