بازگشت به وبلاگ
مه 23, 2026راهنماها

نحوه راه اندازی پروکسی معکوس Nginx

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

نحوه راه اندازی پروکسی معکوس Nginx

یک پروکسی معکوس به Nginx اجازه می دهد تا ترافیک عمومی HTTP/HTTPS را بپذیرد و آن را به برنامه های پشتیبان (Node.js در پورت 3000، کانتینرهای Docker، API های Python) ارسال کند. برای استقرار تولید در Hiddence VPS ضروری است.

پیش نیازها

  • Nginx نصب و اجرا شده است
  • گوش دادن برنامه Backend در لوکال هاست (به عنوان مثال 127.0.0.1:3000)
  • دامنه اشاره شده به VPS شما (برای SSL)
  • پورت های 80 و 443 در فایروال باز می شوند

پیکربندی اصلی پروکسی معکوس

یک پیکربندی سایت برای دامنه خود ایجاد کنید:

bash
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، بسیاری از داشبوردها و برنامه های بیدرنگ:

bash
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، یک گواهی رایگان صادر کنید:

bash
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 را بررسی کنید