كيفية إعداد Nginx كـ Reverse Proxy
يقوم الـ Reverse Proxy بتمرير طلبات العملاء إلى تطبيق خلفي (مثل تطبيق Node.js أو Python يعمل على منفذ محلي). ويتولى Nginx هذه المهمة بكفاءة عالية.
1. إنشاء server block للبروكسي
sudo nano /etc/nginx/sites-available/app.example.comبافتراض أن تطبيقك يستمع على المنفذ 3000:
server {
listen 80;
server_name app.example.com;
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;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_bypass $http_upgrade;
}
}2. التفعيل وإعادة التحميل
sudo ln -s /etc/nginx/sites-available/app.example.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginxأصبحت الطلبات الواردة إلى نطاقك تُمرَّر الآن إلى التطبيق الخلفي. أضف شهادة SSL باستخدام الأمر sudo certbot --nginx.