[{"data":1,"prerenderedAt":190},["ShallowReactive",2],{"seo-verification":3,"blog-انشر-تطبيقاتك-باستخدام-nginx-proxy-manager-على-خادم-vps-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":23,"featuredImage":25,"bgImage":26,"posterImage":27,"relatedSolution":25,"intro":28,"sections":29,"ctaTitle":143,"ctaBody":144,"ctaButton":145,"ctaUrl":146,"relatedPosts":147},37,"انشر-تطبيقاتك-باستخدام-nginx-proxy-manager-على-خادم-vps",{"fr":10,"en":11,"ar":8},"deployer-avec-nginx-proxy-manager","deploy-your-applications-with-nginx-proxy-manager-on-a-vps","انشر تطبيقاتك باستخدام Nginx Proxy Manager على خادم VPS","أدِر النطاقات وشهادات SSL والوكيل العكسي لعدة خدمات على خادم VPS باستخدام Nginx Proxy Manager: التثبيت وشبكات Docker واستكشاف أخطاء 502 والإعداد المتقدم.",10,0,false,"2026-05-14T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":21},3,"النشر","deploiement","bg-success\u002F10 text-success",[24],{"id":19,"name":20,"slug":21,"color":22,"icon":21},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdeployer-avec-nginx-proxy-manager-poster.svg","يضع ‎Nginx Proxy Manager‎ (NPM) واجهة ويب واضحة فوق ‎Nginx‎ لإدارة الوكلاء العكسيين والنطاقات وشهادات ‎SSL‎ دون تحرير ملف تهيئة واحد. بمجرد أن تستضيف أكثر من تطبيق واحد على خادم ‎VPS‎ — واجهة برمجية، أو ‎Gitea‎، أو ‎Portainer‎، أو ‎n8n‎ — تحتاج إلى طبقة توجيه ‎HTTP‎ موثوقة. يأخذك هذا الدليل من تثبيت ‎Docker‎ وصولاً إلى الإعدادات المتقدمة: شبكات معزولة وقوائم وصول وشهادات ‎wildcard SSL‎ واستكشاف الأخطاء الشائعة.",[30,34,45,48,82,85,89,92,100,140],{"type":31,"title":32,"body":33},"h2","لماذا تحتاج إلى وكيل عكسي على خادم VPS","يكشف خادم ‎VPS‎ عن عنوان ‎IP‎ عام واحد فقط. خلف هذا العنوان، يمكنك تشغيل خمس أو عشر أو عشرين خدمة على منافذ داخلية مختلفة. بدون وكيل عكسي، يعني كشف كل خدمة على منفذ عام فتح تلك المنافذ في جدار الحماية، وإدارة شهادات TLS يدوياً لكل منها، وإعلام كل مستخدم بها. يحلّ الوكيل العكسي هذه المشكلات الثلاث دفعة واحدة: يستقبل كل حركة المرور على المنفذين 80 و443، ويحدد النطاق المطلوب، ويوجّه الطلب إلى الحاوية الداخلية الصحيحة. يضيف ‎Nginx Proxy Manager‎ طبقة واجهة رسومية إلى هذه الآلية: لا ملف تهيئة للكتابة، ولا إعادة تحميل يدوية، وتُدار شهادات ‎Let's Encrypt‎ ببضع نقرات. وهذا ملائم بشكل خاص للوكالات التي تستضيف تطبيقات عدة لعملاء على الخادم ذاته، أو للمطورين المستقلين الذين يشغّلون مشاريع متوازية.",{"type":35,"title":36,"items":37},"ul","NPM في مقابل إعداد Nginx اليدوي: 7 مزايا ملموسة",[38,39,40,41,42,43,44],"لا ملفات تهيئة: يُنشأ كل proxy host من واجهة الويب، دون الحاجة إلى حفظ صياغة Nginx.","شهادات ‎Let's Encrypt‎ تلقائية: يطلبها NPM ويثبّتها ويجدّدها دون تدخّل. الـ wildcard ممكن عبر DNS challenge.","إدارة مركزية: جميع نطاقاتك ونطاقاتك الفرعية وعمليات إعادة التوجيه في شاشة واحدة، بدل عشرة ملفات في `\u002Fetc\u002Fnginx\u002Fsites-enabled\u002F`.","قوائم الوصول (Access Lists) المدمجة: احمِ خدمة بعنوان IP أو بكلمة مرور دون المساس بإعدادات كل تطبيق.","سجلّات لكل مضيف قابلة للاطّلاع في الواجهة: اكشف خطأ 502 أو إساءة استخدام دون الاتصال بالحاوية.","عمليات إعادة التوجيه من HTTP إلى HTTPS وصفحات 404 مخصصة قابلة للإعداد بصرياً.","الاكتشاف باسم حاوية Docker: استهدف `portainer:9000` بدلاً من عنوان IP داخلي غير ثابت يتغير عند إعادة التشغيل.",{"type":31,"title":46,"body":47},"المتطلبات الأساسية قبل تثبيت NPM","لا يفعل NPM سوى توجيه حركة المرور، لذا فهو خفيف الوزن. يكفي خادم VPS بذاكرة 1 غيغابايت من RAM ومعالج vCPU واحد إذا كان NPM الخدمة الوحيدة الجوهرية. إن كنت تستضيف أيضاً التطبيقات خلفه، خصّص الموارد وفق مجموع احتياجاتها. احتجز 15 غيغابايت من قرص SSD (الشهادات وقاعدة بيانات SQLite والسجلّات). البرمجيات المطلوبة: Docker 24+ وإضافة Compose الإصدار 2 (`docker compose` وليس الأمر القديم `docker-compose`). الشبكة: يجب أن يكون المنفذان 80 و443 حرّين على خادم VPS — فـ NPM هو الشاغل الوحيد لهما. المنفذ 81 مخصص لواجهة الإدارة ويجب ألا يُكشف مباشرةً على الإنترنت. DNS: وجّه سجلاتك A إلى عنوان IP الخاص بخادم VPS قبل طلب الشهادات.",{"type":49,"title":50,"steps":51},"steps","التثبيت والتهيئة الأولى لـ Nginx Proxy Manager",[52,55,58,61,64,67,70,73,76,79],{"title":53,"body":54},"تثبيت Docker على خادم VPS","على خادم Debian\u002FUbuntu: `curl -fsSL https:\u002F\u002Fget.docker.com | sh`. تحقق بعد ذلك: `docker --version` و`docker compose version`. إن لم تكن إضافة Compose موجودة، ثبّت حزمة `docker-compose-plugin` عبر apt.",{"title":56,"body":57},"إنشاء مجلد العمل وملف Compose","أنشئ `\u002Fopt\u002Fnpm` على خادم VPS. في هذا المجلد، أنشئ ملفاً باسم `docker-compose.yml`. أعلن فيه خدمة NPM بالصورة `jc21\u002Fnginx-proxy-manager:latest`، وعيّن المنافذ `80:80` و`443:443` و`81:81`، وعرّف وحدتي تخزين: `.\u002Fdata:\u002Fdata` و`.\u002Fletsencrypt:\u002Fetc\u002Fletsencrypt`.",{"title":59,"body":60},"تشغيل الحاوية","من `\u002Fopt\u002Fnpm`، شغّل `docker compose up -d`. تحقق من أن الحاوية تعمل: `docker compose ps`. تصبح واجهة الإدارة متاحة على `http:\u002F\u002FIP_DU_VPS:81` في غضون ثلاثين ثانية.",{"title":62,"body":63},"تسجيل الدخول لأول مرة وتأمين حساب المسؤول","سجّل الدخول ببيانات الاعتماد الافتراضية: البريد الإلكتروني `admin@example.com`، وكلمة المرور `changeme`. يطلب NPM فوراً تغيير القيمتين. افعل ذلك قبل أي إجراء آخر: يمنح هذا الحساب وصولاً كاملاً إلى بنية التوجيه الخاصة بك.",{"title":65,"body":66},"إنشاء شبكة Docker مشتركة","كي يتمكن NPM من الوصول إلى حاويات التطبيقات بأسمائها، يجب أن تشترك في الشبكة ذاتها. أنشئ شبكة خارجية: `docker network create proxy`. في ملف `docker-compose.yml` الخاص بـ NPM، أعلن هذه الشبكة خارجية. كرّر الأمر في ملف Compose لكل تطبيق تريد توكيله.",{"title":68,"body":69},"إضافة أول Proxy Host","في الواجهة: Proxy Hosts ثم Add Proxy Host. أدخل النطاق (مثل `app.your-domain.com`) والمضيف الأمامي `Forward Hostname` (اسم الحاوية أو عنوان IP الداخلي) والمنفذ. ضع علامة على Block Common Exploits. إن استخدم التطبيق WebSockets، فعّل Websockets Support.",{"title":71,"body":72},"تفعيل SSL من Let's Encrypt","في تبويب SSL الخاص بـ Proxy Host، اختر Request a new SSL Certificate، واقبل شروط Let's Encrypt وفعّل Force SSL. يتصل NPM بخوادم ACME، ويتحقق من النطاق عبر HTTP-01 ويثبّت الشهادة. تصبح خدمتك على HTTPS في ثوانٍ، والتجديد تلقائي.",{"title":74,"body":75},"تأمين واجهة الإدارة (المنفذ 81)","أغلق المنفذ 81 في جدار الحماية (`ufw deny 81`). ثم أنشئ Proxy Host مخصصاً — مثل `npm.your-domain.com` نحو `localhost:81` — مع SSL وقائمة وصول مقيّدة بعنوان IP الإداري. يمكنك بذلك الوصول إلى الواجهة عبر HTTPS دون كشف المنفذ 81 لبقية العالم.",{"title":77,"body":78},"شهادة wildcard عبر DNS challenge","لتغطية جميع نطاقاتك الفرعية بشهادة واحدة، استخدم DNS challenge. في تبويب SSL، اختر Use a DNS Challenge، وحدد مزوّدك (Cloudflare وOVH وغيرهما) وأدخل مفتاح API. يُنشئ NPM سجل TXT في منطقة DNS الخاصة بك، ويتحقق من ملكية النطاق، ويحصل على شهادة `*.your-domain.com`.",{"title":80,"body":81},"اختبار السلسلة الكاملة","من طرفية: `curl -I https:\u002F\u002Fapp.your-domain.com`. انتظر الرمز `200` أو رمز الاستجابة الخاص بتطبيقك. تحقق أيضاً من إعادة توجيه HTTP: `curl -I http:\u002F\u002Fapp.your-domain.com` يجب أن يُعيد `301` نحو النسخة HTTPS.",{"type":31,"title":83,"body":84},"الإعداد المتقدم","يكشف NPM في واجهته عن عدة وظائف تتجاوز الوكالة العكسية البسيطة. تتيح **قوائم الوصول (Access Lists)** تقييد الوصول إلى مضيف بنطاق IP أو ببيانات اعتماد HTTP Basic Auth أو بمزيج من الاثنين — مفيد لحماية لوحة إدارية دون إضافة مصادقة في التطبيق نفسه. تُعالج **Streams** توجيه TCP\u002FUDP للبروتوكولات غير HTTP (MySQL البعيد، وخوادم الألعاب، وMQTT...). تُنشئ قسم **Redirections** قواعد دائمة (301) أو مؤقتة (302) من نطاق أو مسار إلى رابط آخر، دون الحاجة إلى خدمة خلفه. تتيح **تبويبات Advanced** لكل proxy host حقن تهيئة Nginx خام حين لا تغطي الواجهة حالة بعينها.",{"type":86,"title":87,"body":88},"tip","التصليب: تحديد معدل الطلبات في تبويب Advanced","لا يعرض NPM شريط تمرير لتحديد المعدل في واجهته الأساسية، لكن يمكنك حقن توجيه Nginx في تبويب Advanced لـ proxy host المعني. أعلن منطقة مشتركة في التهيئة المخصصة: `limit_req_zone $binary_remote_addr zone=api:10m rate=30r\u002Fm;` ثم طبّقها: `limit_req zone=api burst=10 nodelay;`. يُقيّد هذا كل عنوان IP بـ 30 طلباً في الدقيقة مع burst مقداره 10.",{"type":31,"title":90,"body":91},"استكشاف الأخطاء الشائعة","إليك أكثر خمس مشكلات شيوعاً يواجهها المستخدمون بعد تثبيت NPM، مع تشخيص مباشر لكل منها.",{"type":35,"title":93,"items":94},"الأخطاء الشائعة وأسبابها",[95,96,97,98,99],"**502 Bad Gateway**: لا يمكن لـ NPM الوصول إلى حاويتك. تحقق أولاً من أن الحاوية التطبيقية تعمل (`docker ps`) وأنها على شبكة Docker ذاتها التي يستخدمها NPM (`docker network inspect proxy`). تحقق بعد ذلك من أن `Forward Hostname` يطابق تماماً اسم الخدمة المعلن في ملف ‎Compose‎ الخاص بالتطبيق.","**شهادة SSL في انتظار أو خطأ ACME**: يجب أن تتمكن Let's Encrypt من الوصول إلى خادمك عبر المنفذ 80 بالنطاق المعلن. تحقق من أن سجل DNS A يشير إلى عنوان IP الصحيح، وأن المنفذ 80 غير محجوب، وأن النطاق يُحلّ من الخارج (`dig app.your-domain.com`).","**الحاوية لا يمكن الوصول إليها عبر اسم DNS في Docker**: إن استهدفت `myapp:3000` وحصلت على خطأ تحليل، فإن حاوية `myapp` ليست على الشبكة ذاتها التي يستخدمها NPM. أضف شبكة `proxy` في ملف Compose الخاص بالتطبيق وأعد إنشاء الحاويات (`docker compose up -d --force-recreate`).","**حلقة إعادة توجيه لا نهائية من HTTP إلى HTTPS**: يحدث هذا حين يُجري التطبيق إعادة توجيه HTTPS بنفسه فوق إعادة توجيه NPM. أضف في تبويب Advanced: `proxy_set_header X-Forwarded-Proto $scheme;` لكي يعرف التطبيق البروتوكول الفعلي.","**واجهة الإدارة لا تعمل بعد إعادة التشغيل**: تأكد من أن خدمة NPM تحمل التوجيه `restart: unless-stopped` في ملف Compose الخاص بك. بدونه، لن يُعيد Docker تشغيل الحاوية بعد إعادة تشغيل خادم VPS.",{"type":101,"title":102,"headers":103,"rows":107},"comparison","Nginx Proxy Manager في مواجهة Traefik",[104,105,106],"المعيار","Nginx Proxy Manager","Traefik",[108,112,116,120,124,128,132,136],[109,110,111],"التهيئة","واجهة ويب بصرية، لا ملف لتحريره","ملفات YAML وعلامات Docker",[113,114,115],"منحنى التعلّم","منخفض، متاح دون خبرة Nginx","أكثر انحداراً، موجّه نحو DevOps",[117,118,119],"شهادات SSL من Let's Encrypt","تلقائية عبر الواجهة، wildcard ممكن","تلقائية عبر التهيئة",[121,122,123],"اكتشاف الخدمات","يدوي (اسم الحاوية أو IP:port)","تلقائي عبر علامات Docker",[125,126,127],"مثالي لـ","بضع خدمات تُدار يدوياً، إعداد واضح","بيئات ديناميكية مع حاويات كثيرة",[129,130,131],"استهلاك RAM","منخفض جداً","منخفض",[133,134,135],"السجلّات لكل مضيف","قابلة للاطّلاع في الواجهة","عبر مكدّس سجلّات خارجي",[137,138,139],"إدارة الوصول","قوائم وصول (Access Lists) مدمجة","برمجيات وسيطة للتهيئة",{"type":31,"title":141,"body":142},"متى تنتقل إلى Traefik أو Caddy","يناسب NPM تماماً مجموعة خدمات مستقرة يظل عددها قابلاً للإدارة. بمجرد أن تُدير عمليات نشر ديناميكية — حاويات تظهر وتختفي تلقائياً، كما في بيئات Kubernetes أو مع أنابيب CI\u002FCD — يصبح Traefik أكثر ملاءمة. Caddy خيار جيد إن كنت تبحث عن بساطة التهيئة بملفات مع شهادات تلقائية، دون واجهة ويب. في جميع الأحوال، يمكن لـ NPM أن يتعايش مع Traefik أو Caddy على خادم VPS الواحد، بشرط ألا يشغل وكيلان المنفذين 80 و443 أنفسهما.","مركزِ نطاقاتك مع Nginx Proxy Manager","خادم VPS Cloud من ServOrbit جاهز مع Docker يتيح لك تثبيت Nginx Proxy Manager كنقطة دخول HTTPS واحدة وتوجيه جميع خدماتك بشهادة SSL تلقائية.","اختر خادم VPS Cloud الخاص بي","\u002Fvps-cloud",[148,161,174],{"id":149,"slug":150,"slugs":151,"title":154,"excerpt":155,"readTime":14,"views":15,"isPinned":16,"publishedAt":156,"category":157,"categories":158,"featuredImage":25,"bgImage":26,"posterImage":160,"relatedSolution":25},33,"انشر-تطبيقاتك-باستخدام-caprover-على-خادم-vps",{"fr":152,"en":153,"ar":150},"deployer-avec-caprover","deploy-your-applications-with-caprover-on-a-vps","انشر تطبيقاتك باستخدام CapRover على خادم VPS","دليل CapRover الشامل: التثبيت، captain-definition، CI\u002FCD مع GitHub Actions، الكتلة متعددة العقد، النسخ الاحتياطية وإصلاح أخطاء 502 وBuild Failed وDocker API.","2026-05-18T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":21},[159],{"id":19,"name":20,"slug":21,"color":22,"icon":21},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-caprover-poster.svg",{"id":162,"slug":163,"slugs":164,"title":167,"excerpt":168,"readTime":19,"views":15,"isPinned":16,"publishedAt":169,"category":170,"categories":171,"featuredImage":25,"bgImage":26,"posterImage":173,"relatedSolution":25},34,"انشر-تطبيقاتك-باستخدام-dokku-على-خادم-vps",{"fr":165,"en":166,"ar":163},"deployer-avec-dokku","deploy-your-applications-with-dokku-on-a-vps","انشر تطبيقاتك باستخدام Dokku على خادم VPS","انشر تطبيقاتك باستخدام Dokku، أصغر منصة PaaS في السوق: git push، وbuildpacks الخاصة بـ Heroku، وشهادات SSL تلقائية على خادم VPS خفيف.","2026-05-17T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":21},[172],{"id":19,"name":20,"slug":21,"color":22,"icon":21},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-dokku-poster.svg",{"id":175,"slug":176,"slugs":177,"title":180,"excerpt":181,"readTime":19,"views":15,"isPinned":16,"publishedAt":182,"category":183,"categories":184,"featuredImage":25,"bgImage":26,"posterImage":186,"relatedSolution":187},35,"انشر-تطبيقاتك-باستخدام-portainer-على-خادم-vps",{"fr":178,"en":179,"ar":176},"deployer-avec-portainer","deploy-your-applications-with-portainer-on-a-vps","انشر تطبيقاتك باستخدام Portainer على خادم VPS","أدِر Docker بصريًا باستخدام Portainer على خادم VPS الخاص بك: حاويات، وstacks، وأحجام (volumes)، وشبكات تُدار من واجهة ويب واضحة.","2026-05-16T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":21},[185],{"id":19,"name":20,"slug":21,"color":22,"icon":21},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-portainer-poster.svg",{"categorySlug":188,"appSlug":189},"نشر-التطبيقات-وdevops","portainer",1787580948364]