[{"data":1,"prerenderedAt":221},["ShallowReactive",2],{"seo-verification":3,"blog-caddy-أم-traefik-أم-nginx-proxy-manager-أيهما-تختار-ma-ar":6,"promo-bar-likely":220},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-caddy-أم-traefik-أم-nginx-proxy-manager-أيهما-تختار-ma-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":29,"intro":32,"sections":33,"ctaTitle":159,"ctaBody":160,"ctaButton":161,"ctaUrl":162,"relatedPosts":163},227,"caddy-أم-traefik-أم-nginx-proxy-manager-أيهما-تختار",{"fr":12,"en":13,"ar":10,"es":14},"choisir-reverse-proxy-vps-caddy-traefik-nginx","caddy-traefik-or-nginx-proxy-manager-which-to-choose","elegir-reverse-proxy-vps-caddy-traefik-nginx","‏Caddy أم Traefik أم Nginx Proxy Manager: أيهما تختار؟","دليل المقارنة بين ‏Caddy و‏Traefik و‏Nginx Proxy Manager لاختيار بروكسي عكسي لـ‏Docker على خادم VPS. معايير وجدول مقارنة وتوصيات حسب الملف الشخصي.",10,6,false,"2026-08-06T00:00:00+00:00","2026-11-08T01:13:15+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},5,"مقارنات","comparatif","bg-info\u002F10 text-info",[28],{"id":23,"name":24,"slug":25,"color":26,"icon":25},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fchoisir-reverse-proxy-vps-caddy-traefik-nginx-poster.svg","تستضيف عدة تطبيقات ‏Docker على خادم ‏VPS وتحتاج إلى عرض كل منها عبر ‏HTTPS باسم نطاق مستقل. البروكسي العكسي هو القطعة المحورية في هذه البنية: يستقبل كل حركة المرور الواردة على المنفذين 80 و443، ويدير شهادات ‏TLS ويوجّه الطلبات إلى الحاوية المناسبة. ‏Caddy و‏Traefik و‏Nginx Proxy Manager هي الحلول الثلاثة الأكثر شعبية — هذا الدليل يساعدك على اختيار ما يناسب ملفك الشخصي.",[34,38,47,50,96,99,121,124,139,142,145,148,156],{"type":35,"title":36,"body":37},"h2","لماذا البروكسي العكسي ضروري مع ‏Docker","بشكل افتراضي، تستمع كل حاوية ‏Docker على منفذ عشوائي: ‏Nextcloud على المنفذ 8080، و‏Gitea على المنفذ 3000، و‏Vaultwarden على المنفذ 8200. لا يمكنك عرض عشرة منافذ مباشرةً في بيئة الإنتاج. يحل البروكسي العكسي هذه المشاكل الثلاث دفعةً واحدة: يصبح نقطة الدخول العامة الوحيدة، ويوجّه حركة المرور بناءً على اسم المضيف، ويتولى إنهاء ‏TLS. النتيجة: ‏`app1.your-domain.com` و‏`app2.your-domain.com` تشيران كلتاهما إلى المنفذ 443 لخادمك، والبروكسي يعرف إلى أي حاوية يُعيد توجيه كل طلب.",{"type":39,"title":40,"items":41},"ul","ما يمنحك إياه البروكسي العكسي عملياً",[42,43,44,45,46],"**إنهاء ‏TLS مركزي** — أداة واحدة تحصل على شهادات ‏Let's Encrypt وتجدّدها لجميع نطاقاتك تلقائياً دون أي خطوات يدوية","**توجيه حسب اسم المضيف** — ‏`git.your-domain.com` يذهب إلى ‏Gitea، و‏`cloud.your-domain.com` يذهب إلى ‏Nextcloud دون أي تعارض في المنافذ","**جدار حماية مُبسَّط** — المنفذان 80 و443 فقط مفتوحان للعموم، وجميع منافذ ‏Docker الداخلية تبقى غير متاحة من الخارج","**إعادة توجيه ‏HTTP إلى ‏HTTPS تلقائياً** — يُعاد توجيه كل حركة المرور غير المشفرة توجيهًا دائمًا (301 أو 308 حسب الأداة) دون إعداد يدوي داخل كل تطبيق","**مراقبة مركزية** — سجلات الوصول والأخطاء لجميع تطبيقاتك مجمّعة في مكان واحد لتسهيل تشخيص المشكلات",{"type":35,"title":48,"body":49},"المتطلبات المشتركة للحلول الثلاثة","قبل اختيار أحد هذه البروكسيات الثلاثة وتثبيته، تأكد من أن خادم ‏VPS الخاص بك يستوفي بعض الشروط الأساسية. يجب تثبيت ‏Docker و‏Docker Compose (يُنصح بالإصدار ‏Compose V2، أي الأمر ‏`docker compose` بدون شرطة). يجب أن تشير سجلات ‏DNS إلى عنوان ‏IP العام لخادمك قبل طلب الشهادة — إذ يتحقق ‏Let's Encrypt من ‏DNS أثناء التحقق ‏HTTP-01، وقد يؤدي خطأ في هذه المرحلة إلى حدّ معدل (‏rate limit) يمنع محاولاتك لمدة ساعة تقريبًا. يجب أن يكون المنفذان 80 و443 على خادمك حرّين: تحقق بالأمر ‏`ss -tlnp | grep -E ':80|:443'` من عدم وجود خدمة أخرى تشغلهما. أخيرًا، أنشئ شبكة ‏Docker مخصصة للبروكسي — ‏`docker network create proxy` — تربط بها كل حاوية يجب أن يصل إليها البروكسي.",{"type":51,"title":52,"headers":53,"rows":58},"comparison","جدول المقارنة: ‏Caddy مقابل ‏Traefik مقابل ‏Nginx Proxy Manager",[54,55,56,57],"المعيار","‏Caddy","‏Traefik","‏Nginx Proxy Manager",[59,63,68,73,78,82,87,91],[60,61,62,61],"سهولة الإعداد","⭐⭐⭐⭐⭐ بسيط جداً","⭐⭐⭐ متوسط",[64,65,66,67],"‎TLS تلقائي (Let's Encrypt)","✅ أصيل، بدون إعداد","✅ عبر ‎ACME","✅ عبر الواجهة الرسومية",[69,70,71,72],"تكامل ‎Docker","يدوي (وسوم أو إعداد)","✅ وسوم أصيلة","✅ عبر ‎GUI",[74,75,76,77],"طريقة الإعداد","ملف ‎Caddyfile مقروء","وسوم ‎Docker + ‎YAML","واجهة رسومية",[79,80,81,81],"إعادة التحميل بدون انقطاع","✅ عبر ‎`caddy reload`","✅ تلقائي",[83,84,85,86],"لوحة تحكم\u002Fواجهة ويب","❌ لا","✅ لوحة تحكم مدمجة","✅ واجهة كاملة",[88,89,89,90],"استهلاك الذاكرة","منخفض (ملف ‎Go تنفيذي واحد)","أعلى (‎Nginx + تطبيق ‎Node.js)",[92,93,94,95],"الأنسب لـ","مشاريع فردية\u002Fفرق صغيرة","الخدمات المصغرة، ‎CI\u002FCD","المبتدئون، الفرق المختلطة",{"type":35,"title":97,"body":98},"‏Caddy: الخيار الافتراضي لمعظم الحالات","رسّخ ‏Caddy مكانته بوصفه الخيار الأبسط للمطورين الذين يستضيفون ما بين تطبيقين وعشرة تطبيقات على خادم ‏VPS. فلسفته جذرية: ‏TLS مفعَّل افتراضيًا لأي نطاق صالح، دون أي خيار يجب تفعيله أو متغير يجب تعريفه. ملف الإعداد ‏`Caddyfile` مقروء عن قصد، قريب من اللغة الطبيعية، ويمكن أن يقتصر على نحو عشرة أسطر في حالة استخدام شائعة. ‏Caddy مكتوب بلغة ‏Go ويضم عميل ‏ACME خاصًا به: يتصل بـ ‏Let's Encrypt مباشرةً، ويخزّن الشهادات في دليل بياناته، ويجدّدها تلقائيًا قبل انتهاء صلاحيتها. وعلى خلاف تثبيت ‏Nginx التقليدي الذي يعتمد غالبًا على ‏certbot كخدمة منفصلة، لا يحتاج ‏Caddy إلى أي تبعية خارجية لإدارة ‏TLS. استهلاك الذاكرة يبقى منخفضًا في وضع الراحة، ما يجعله مناسبًا تمامًا لخوادم ‏VPS المبتدئة بذاكرة 1 أو 2 غيغابايت. العيب الحقيقي الوحيد في ‏Caddy: الاكتشاف التلقائي لحاويات ‏Docker ليس مدمجًا. وللتغلب على ذلك، تُستخدم إما الإضافة ‏`caddy-docker-proxy` أو إعداد ثابت في ملف ‏Caddyfile.",{"type":100,"title":101,"steps":102},"steps","نشر ‏Caddy كبروكسي عكسي لـ ‏Docker",[103,106,109,112,115,118],{"title":104,"body":105},"إنشاء شبكة ‏Docker المشتركة","أولاً، أنشئ الشبكة التي ستشترك فيها ‏Caddy وتطبيقاتك: ‏`docker network create proxy`. تتيح هذه الشبكة المعزولة لـ ‏Caddy الوصول إلى حاوياتك بالاسم دون كشف منافذها على المضيف.",{"title":107,"body":108},"كتابة ملف ‏Caddyfile","أنشئ ملف ‏`Caddyfile` في جذر مشروعك. لعرض تطبيق على ‏`app.your-domain.com` إلى حاوية باسم ‏`myapp` تستمع على المنفذ 3000: ‏`app.your-domain.com { reverse_proxy myapp:3000 }`. يحصل ‏Caddy على الشهادة تلقائياً عند أول تشغيل.",{"title":110,"body":111},"كتابة ملف ‏docker-compose.yml لـ ‏Caddy","أنشئ ‏`docker-compose.yml` مع خدمة ‏Caddy: ارفع ‏`Caddyfile` للقراءة فقط، احفظ بيانات ‏TLS في حجم مسمى، انشر المنفذين 80 و443، وأضف ‏Caddy إلى شبكة ‏`proxy` المُعلَنة خارجية.",{"title":113,"body":114},"ربط تطبيقاتك بشبكة البروكسي","في ملف ‏`docker-compose.yml` لكل تطبيق، أضف شبكة ‏`proxy` كشبكة خارجية وتوقف عن كشف المنافذ على المضيف (استخدم ‏`expose` بدلاً من ‏`ports`).",{"title":116,"body":117},"التشغيل والتحقق","شغّل ‏Caddy بـ ‏`docker compose up -d`، ثم تابع السجلات بـ ‏`docker compose logs -f caddy`. يجب أن ترى ‏`certificate obtained successfully` لكل نطاق. اختبر بـ ‏`curl -I https:\u002F\u002Fapp.your-domain.com`.",{"title":119,"body":120},"إضافة تطبيق جديد","لكل تطبيق جديد، أضف كتلة في ‏`Caddyfile`، أعد تحميل ‏Caddy بدون انقطاع بـ ‏`docker exec caddy caddy reload --config \u002Fetc\u002Fcaddy\u002FCaddyfile`، وأضف الحاوية الجديدة إلى شبكة ‏`proxy`.",{"type":35,"title":122,"body":123},"‏Traefik: متى تختار الاكتشاف التلقائي للخدمات","يتألق ‏Traefik في السياقات التي يتغير فيها عدد الخدمات باستمرار: بيئات ‏CI\u002FCD التي تنشئ الحاويات وتحذفها مع كل نشر، ومعماريات الخدمات المصغرة التي تضم أكثر من خمس خدمات مستقلة، أو الفرق التي ينشر فيها كل مطور حزمه الخاصة دون المساس بإعداد مركزي. آلية الاكتشاف التلقائي عبر تسميات ‏Docker هي ميزته الرئيسية: عند تشغيل حاوية بالتسميات الصحيحة (‏`traefik.http.routers.myapp.rule=Host(\"app.your-domain.com\")`)، يكتشفها ‏Traefik فورًا ويُنشئ المسار ويطلب شهادة ‏TLS دون أن تحتاج إلى تعديل إعداده. يتضمن ‏Traefik أيضًا لوحة تحكم ويب تعرض في الوقت الفعلي جميع الموجّهات والخدمات والوسائط (‏middlewares) النشطة. في المقابل، منحنى التعلم أكثر حدة: الوسائط ونقاط الدخول وصيغة التسميات قد تربك المبتدئين، وخطأ إملائي في تسمية واحدة قد يجعل تطبيقًا غير متاح دون أي رسالة واضحة.",{"type":100,"title":125,"steps":126},"نشر ‏Traefik مع اكتشاف ‏Docker التلقائي",[127,130,133,136],{"title":128,"body":129},"إنشاء ملف الإعداد الثابت","أنشئ ‏`traefik.yml` بنقاط الدخول، فعّل موفر ‏Docker، اضبط محلل ‏ACME بعنوان بريدك لـ ‏Let's Encrypt، وفعّل لوحة التحكم في الوضع الآمن.",{"title":131,"body":132},"تشغيل ‏Traefik مع ‏Docker Compose","في ‏`docker-compose.yml` لـ ‏Traefik، ارفع مقبس ‏Docker للقراءة فقط (‏`\u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock:ro`)، ارفع ‏`traefik.yml`، احفظ الشهادات في حجم، وانشر المنفذين 80 و443.",{"title":134,"body":135},"إضافة التسميات إلى حاوياتك","على كل خدمة تريد عرضها، أضف تسميات ‏Traefik: ‏`traefik.enable=true`، قاعدة الموجّه، نقطة الدخول، محلل ‏TLS، ومنفذ الخدمة الداخلي.",{"title":137,"body":138},"التحقق من لوحة التحكم","ادخل إلى لوحة تحكم ‏Traefik وتحقق من أن موجّهك يظهر باللون الأخضر دون أخطاء. إن كان الموجّه غائباً، تحقق من وجود التسمية ‏`traefik.enable=true`.",{"type":140,"body":141},"tip","أمان حرج: لا ترفع مقبس ‏Docker (‏`\u002Fvar\u002Frun\u002Fdocker.sock`) بدون قيود في بيئة متعددة المستخدمين — أي شخص يمكنه الكتابة في هذا المقبس يمكنه السيطرة الكاملة على المضيف. الرفع للقراءة فقط (‏`ro`) لا يكفي: فهو يحمي ملف المقبس لا واجهة ‏Docker API. في الإنتاج، ضع بروكسي مقبس مثل ‏`docker-socket-proxy` بين ‏Traefik والخادم، مقتصرًا على طلبات القراءة.",{"type":35,"title":143,"body":144},"‏Nginx Proxy Manager: الخيار بدون ملفات إعداد","‏Nginx Proxy Manager (‏NPM) هو الخيار الواضح لمن لا يرتاح لملفات الإعداد في سطر الأوامر. تتيح واجهته الرسومية إنشاء مضيف بروكسي ببضع نقرات: تُدخل اسم النطاق وعنوان الحاوية الهدف، وتفعّل خياري «Force SSL» و«HTTP\u002F2 Support»، ثم تنقر على «Save» — وهذا كل شيء. يتولى ‏NPM الباقي، بما في ذلك طلب شهادة ‏Let's Encrypt. تتيح الواجهة أيضًا إدارة عدة مستخدمين بصلاحيات مختلفة، وإضافة قوائم التحكم في الوصول، وإعداد عمليات إعادة التوجيه. في المقابل، يشغّل ‏NPM إلى جانب ‏Nginx تطبيق ‏Node.js وقاعدة بيانات لتخزين إعداداته (‏SQLite افتراضيًا، و‏MariaDB أو ‏MySQL اختياريًا)، مما يجعله أكثر استهلاكًا للذاكرة من ‏Caddy. يناسب ‏NPM تمامًا الفرق المختلطة بين التقنيين وغير التقنيين، أو الحالات التي يحتاج فيها أشخاص غير مدير النظام الرئيسي إلى إدارة النطاقات.",{"type":35,"title":146,"body":147},"استكشاف الأخطاء: الأخطاء الأكثر شيوعاً","تندرج غالبية المشكلات في أربع فئات. أولًا، حدود معدل ‏Let's Encrypt: إذا أعدت تشغيل حزمتك عدة مرات أثناء الاختبار بالنطاق نفسه، فقد تستنفد حد خمس شهادات لمجموعة الأسماء نفسها خلال سبعة أيام. الحل: استخدم بيئة الاختبار (‏staging) لدى ‏Let's Encrypt (‏`acme_ca https:\u002F\u002Facme-staging-v02.api.letsencrypt.org\u002Fdirectory` في ‏Caddy) لاختباراتك ثم انتقل إلى الإنتاج. ثانيًا، تعارض المنافذ: إذا كان المنفذ 80 أو 443 مشغولًا بخادم ‏Apache أو ‏Nginx على المضيف، فلن يبدأ البروكسي في ‏Docker. حدّد العملية بالأمر ‏`ss -tlnp | grep :80` وأوقفها. ثالثًا، أخطاء شبكة ‏Docker: تحقق من أن البروكسي والحاوية الهدف على الشبكة نفسها بالأمر ‏`docker network inspect proxy`. رابعًا، بالنسبة إلى ‏Traefik، الأخطاء الإملائية في التسميات: فعّل سجلات ‏DEBUG (‏`log: { level: DEBUG }` في ‏`traefik.yml`، أو ‏`--log.level=DEBUG` إذا كان ‏Traefik مُعدًّا عبر سطر الأوامر).",{"type":39,"title":149,"items":150},"ملخص: أي بروكسي لأي ملف شخصي",[151,152,153,154,155],"**مطور فردي، 2 إلى 5 تطبيقات** — ‏Caddy: إعداد بسيط، ‏TLS تلقائي، جاهز في أقل من عشر دقائق","**فريق ‏DevOps، خدمات مصغرة، ‏CI\u002FCD** — ‏Traefik: اكتشاف تلقائي عبر التسميات، لوحة مراقبة","**مستخدم غير تقني أو فريق مختلط** — ‏Nginx Proxy Manager: واجهة رسومية بديهية، لا ملفات للتحرير","**‏VPS ذو ذاكرة محدودة** — ‏Caddy أو ‏Traefik: تجنب ‏NPM الأكثر استهلاكًا للذاكرة","**انتقال تدريجي من ‏Nginx** — ‏Caddy: يمكن تعلم صيغته في ساعة",{"type":35,"title":157,"body":158},"الخلاصة: ابدأ بـ ‏Caddy وطوّر عند الحاجة","لغالبية العظمى من المضيفين الذاتيين الذين يديرون تطبيقات ‏Docker على خادم ‏VPS، يعد ‏Caddy نقطة انطلاق ممتازة: بسيط وخفيف ويتولى ‏TLS دون إعداد إضافي. إذا نمت بنيتك التحتية إلى أكثر من خمس خدمات مع نشر متكرر وآلي، يصبح ‏Traefik أكثر ملاءمة.","خادمك الافتراضي جاهز لـ ‏Docker في أقل من 5 دقائق","تُسلَّم خوادم ‏ServOrbit الافتراضية مع ‏Docker مثبتاً مسبقاً، و‏IP عامة مخصصة، وشبكة بسرعة 1 جيجابت.","اكتشف خوادم ServOrbit الافتراضية","\u002Fsolutions\u002Fdeveloppeurs",[164,188,204],{"id":165,"slug":166,"slugs":167,"title":171,"excerpt":172,"readTime":173,"views":174,"isPinned":19,"noindex":19,"publishedAt":175,"updatedAt":176,"category":177,"categories":182,"featuredImage":29,"bgImage":30,"posterImage":184,"relatedSolution":185},39,"انشر-تطبيقاتك-باستخدام-caddy-على-خادم-vps",{"fr":168,"en":169,"ar":166,"es":170},"deployer-avec-caddy","deploy-your-applications-with-caddy-on-a-vps","desplegar-con-caddy","Caddy كـ reverse proxy على VPS: دليل شامل","ثبّت Caddy وهيّئه كـ reverse proxy على VPS: HTTPS تلقائي عبر ‎Let's Encrypt‎، تطبيقات متعددة، تأمين الخادم وحل الأخطاء الشائعة.",8,4,"2026-05-12T00:00:00+00:00","2026-09-25T23:43:04+00:00",{"id":178,"name":179,"slug":180,"color":181,"icon":180},3,"النشر","deploiement","bg-success\u002F10 text-success",[183],{"id":178,"name":179,"slug":180,"color":181,"icon":180},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-caddy-poster.svg",{"categorySlug":186,"appSlug":187},"نشر-التطبيقات-وdevops","caddy",{"id":189,"slug":190,"slugs":191,"title":195,"excerpt":196,"readTime":197,"views":178,"isPinned":19,"noindex":19,"publishedAt":198,"updatedAt":199,"category":200,"categories":201,"featuredImage":29,"bgImage":30,"posterImage":203,"relatedSolution":29},38,"انشر-تطبيقاتك-باستخدام-traefik-على-خادم-vps",{"fr":192,"en":193,"ar":190,"es":194},"deployer-avec-traefik","deploy-your-applications-with-traefik-on-a-vps","desplegar-con-traefik","انشر تطبيقاتك باستخدام Traefik على خادم VPS","انشر Traefik كوكيل عكسي على خادم VPS الخاص بك: توجيه تلقائي لحاويات Docker، وشهادات SSL من Let's Encrypt، وموازنة أحمال.",11,"2026-05-13T00:00:00+00:00","2026-11-08T01:13:13+00:00",{"id":178,"name":179,"slug":180,"color":181,"icon":180},[202],{"id":178,"name":179,"slug":180,"color":181,"icon":180},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-traefik-poster.svg",{"id":205,"slug":206,"slugs":207,"title":211,"excerpt":212,"readTime":17,"views":213,"isPinned":19,"noindex":19,"publishedAt":214,"updatedAt":215,"category":216,"categories":217,"featuredImage":29,"bgImage":30,"posterImage":219,"relatedSolution":29},37,"انشر-تطبيقاتك-باستخدام-nginx-proxy-manager-على-خادم-vps",{"fr":208,"en":209,"ar":206,"es":210},"deployer-avec-nginx-proxy-manager","deploy-your-applications-with-nginx-proxy-manager-on-a-vps","desplegar-con-nginx-proxy-manager","انشر تطبيقاتك باستخدام Nginx Proxy Manager على خادم VPS","أدِر النطاقات وشهادات SSL والوكيل العكسي لعدة خدمات على خادم VPS باستخدام Nginx Proxy Manager: التثبيت وشبكات Docker واستكشاف أخطاء 502 والإعداد المتقدم.",7,"2026-05-14T00:00:00+00:00","2026-11-08T01:13:14+00:00",{"id":178,"name":179,"slug":180,"color":181,"icon":180},[218],{"id":178,"name":179,"slug":180,"color":181,"icon":180},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-nginx-proxy-manager-poster.svg",true,1794270326957]