نحوه راه اندازی پروکسی معکوس Nginx
Proxy Node.js، Docker یا سایر برنامه ها از طریق Nginx با پشتیبانی WebSocket و SSL در VPS شما.

یک پروکسی معکوس به Nginx اجازه می دهد تا ترافیک عمومی HTTP/HTTPS را بپذیرد و آن را به برنامه های پشتیبان (Node.js در پورت 3000، کانتینرهای Docker، API های Python) ارسال کند. برای استقرار تولید در Hiddence VPS ضروری است.
پیش نیازها
- Nginx نصب و اجرا شده است
- گوش دادن برنامه Backend در لوکال هاست (به عنوان مثال 127.0.0.1:3000)
- دامنه اشاره شده به VPS شما (برای 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پشتیبانی از WebSocket
مورد نیاز برای 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;
}HTTPS را با Certbot اضافه کنید
پس از کار 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نکات
- در صورت نیاز از proxy_buffering off برای پخش جریانی/SSE استفاده کنید
- Client_max_body_size را برای آپلود فایل تنظیم کنید
- چندین باطن را در زیر دامنه های مختلف اجرا کنید
- از بلوک های بالادستی برای متعادل کردن بار باطن های متعدد استفاده کنید
- اگر 502 Bad Gateway دریافت کردید error.log را بررسی کنید
پروکسی معکوس Nginx راه استاندارد برای نمایش امن برنامه های باطن است. هدرهای پروکسی را پیکربندی کنید، در صورت نیاز WebSockets را اضافه کنید، سپس SSL را با Certbot فعال کنید.