مايو 23, 2026الأدلة
كيفية إعداد Nginx كوكيل عكسي
تمرير Node.js وDocker وتطبيقات أخرى عبر Nginx مع دعم WebSocket وSSL على VPS.

الوكيل العكسي يجعل Nginx يستقبل حركة HTTP/HTTPS العامة ويمرّرها للتطبيقات الخلفية (Node.js على المنفذ 3000، حاويات Docker، واجهات Python). ضروري للنشر الإنتاجي على VPS من Hiddence.
المتطلبات
- Nginx مثبت ويعمل
- التطبيق الخلفي يستمع على localhost (مثلاً 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 لرفع الملفات
- شغّل عدة خلفيات على نطاقات فرعية مختلفة
- استخدم كتل upstream لموازنة الحمل
- عند 502 Bad Gateway راجع error.log