Technical Anshu الصفحة الرئيسية › البرامج التعليمية › تثبيت Nginx Proxy Manager
🐳 وكيل عامل الإرساء العكسي

تثبيت Nginx Proxy Manager - دليل الإعداد في دقيقتين

خدماتك موجودة حاليًا في عناوين قبيحة مثل 192.168.1.50:8080. يقوم Nginx Proxy Manager بتحويلها إلى أسماء نظيفة مثل app.yourdomain.com مع HTTPS مجاني - يتم تثبيته باستخدام ملف Docker Compose واحد ويتم إدارته من خلال لوحة ويب بسيطة بدلاً من ملفات التكوين المكتوبة بخط اليد.

✍️ Technical Anshu🐳 Docker Compose🎧 Multi-Language Audio
تثبيت Nginx Proxy Manager - دليل الإعداد في دقيقتين
🎧 صوت متعدد اللغات: في مشغل الفيديو، انقر فوق [الإعدادات] (⚙️) ➔ [المسار الصوتي] لاختيار لغتك.

📑الفصول

  1. ما يفعله الوكيل العكسي - باب واحد لجميع خدماتك
  2. ما تحتاجه قبل البدء - Docker، والمجال، والمنافذ التي يمكن الوصول إليها
  3. قم بتوجيه DNS الخاص بنطاقك إلى الخادم قبل تثبيت أي شيء
  4. قم بإنشاء المجلد وملف docker-compose.yml
  5. ابدأ تشغيل Nginx Proxy Manager باستخدام أمر واحد
  6. تسجيل الدخول الأول - خطوة حساب المسؤول يخطئ فيها الجميع
  7. قم بإنشاء أول مضيف وكيل لك، حقلاً تلو الآخر
  8. احصل على شهادة Lets Encrypt HTTPS المجانية وقم بتشغيل Force SSL

📋 نظرة عامة ودليل خطوة بخطوة

1

ما تحتاجه قبل البدء

يجب أن تتوفر ثلاثة أشياء قبل أن يتمكن Nginx Proxy Manager (NPM) من العمل. أولاً، خادم Linux أو جهاز كمبيوتر مثبت عليه Docker وDocker Compose مثبت ويعمل بالفعل - يعمل NPM كحاوية، وليس كبرنامج عادي. ثانيًا، اسم النطاق الذي يمكنك تعديل DNS الخاص به، لأن كل خدمة تحصل على نطاق فرعي خاص بها. ثالثًا، يجب أن يكون جهاز التوجيه أو جدار الحماية السحابي لديك قادرًا على إعادة توجيه المنفذين 80 و443 إلى هذا الجهاز.

📌 حول "الدقيقتين" في العنوان: تكون عملية بدء الحاوية نفسها سريعة حقًا - ولكن فقط بمجرد تثبيت Docker بالفعل والانتهاء من الإعداد في هذا الدليل. على جهاز جديد، امنح وقتًا مناسبًا لخطوات الإعداد وDNS والشهادة؛ المجموع الصادق أطول من دقيقتين.
⚠️ في الاتصال المنزلي خلف CGNAT، لا يمكن أن تعمل إعادة توجيه المنفذ على الإطلاق - ولا يوجد إعداد داخل NPM يصلح ذلك. الخيارات الصادقة إذن هي عنوان IP عام/ثابت من مزود خدمة الإنترنت الخاص بك، أو خادم VPS صغير مستأجر، أو أداة نفق بدلاً من ذلك. لا تتجاوز هذا الفحص: نصف قصص "NPM لا يعمل" هي في الواقع قصص "المنافذ لم تصل إلى الخادم مطلقًا".
2

قم بتوجيه DNS الخاص بالمجال الخاص بك إلى الخادم أولاً

يقوم NPM بتوجيه حركة المرور حسب الاسم، ويقوم Lets Encrypt بإصدار شهادات فقط للأسماء التي تشير بشكل مؤكد إلى جهازك - لذلك يجب حل الاسم قبل إنشاء أي شيء عليه. في المسجل أو مضيف DNS الخاص بك، أضف سجل A: الاسم هو كلمة النطاق الفرعي فقط (على سبيل المثال app) والقيمة هي عنوان IP العام لخادمك. تحصل كل خدمة على سجلها الخاص، ويمكن أن تشير جميعها إلى نفس عنوان IP - ويفصل NPM الخدمات لاحقًا بالاسم. قم بتعيين مدة زمنية قصيرة مثل 300 ثانية أثناء الاختبار، بحيث تتلاشى الأخطاء في دقائق بدلاً من ساعات.

أثبت ذلك قبل المتابعة: تأكد من أن الاسم يتحول إلى عنوان IP العام الخاص بك من شبكة خارجية (على سبيل المثال من هاتفك مع إيقاف تشغيل Wi-Fi). يتيح لك طلب شهادة ضد نفايات نظام أسماء النطاقات المعطوبة تشفير المحاولات، ويمكن أن تؤدي حالات الفشل المتكررة إلى تقييد معدلك لساعات. الترتيب مهم: DNS أولاً، المضيف الوكيل ثانياً، الشهادة ثالثاً.

3

قم بإنشاء المجلد وملف الإنشاء

أنشئ مجلدًا لـ NPM على الخادم واحفظ الملف أدناه بداخله باسم docker-compose.yml. هذا الملف الفردي هو التثبيت الكامل. اسم الصورة هو صورة المجتمع الرسمية. المنفذان 80 و443 هما الأبواب العامة، والمنفذ 81 هو لوحة الإدارة، والمجلدان هما المكان الذي يوجد فيه الإعداد بالكامل: ./data يحتفظ بقاعدة البيانات مع جميع مضيفي الوكيل، ويحتفظ ./letsencrypt بشهاداتك. تفقد هذين المجلدين وتفقد الإعداد بالكامل - قم بعمل نسخة احتياطية لهما بمجرد تشغيل الأشياء.

docker-compose.yml
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '443:443'
      - '81:81'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

يقوم سطر إعادة التشغيل: ما لم يتم إيقافه بإعادة تشغيل NPM تلقائيًا بعد إعادة التشغيل.

4

ابدأ تشغيل مدير وكيل Nginx

من داخل هذا المجلد، قم بتشغيل أمر البدء. يقوم Docker بتنزيل الصورة وبدء تشغيل الحاوية في الخلفية.

Terminal
docker compose up -d

التحقق من أنه قيد التشغيل:

Terminal
docker ps

من المفترض أن تشاهد الحاوية مدرجة بالمنافذ 80 و443 و81. على خادم صغير، تستغرق البداية الأولى دقيقة أو دقيقتين أثناء إنشاء قاعدة البيانات. إذا استمرت الحاوية في إعادة التشغيل، فسوف تعرض السجلات السبب بلغة واضحة:

Terminal
docker compose logs

تسع مرات من أصل عشرة، تكون حلقة إعادة التشغيل عبارة عن منفذ يستخدمه بالفعل شيء آخر على المضيف - عادةً ما يكون خادم الويب القديم لا يزال قيد التشغيل.

5

تسجيل الدخول الأول - تأمين حساب المسؤول على الفور

افتح لوحة الإدارة في متصفح على شبكتك الخاصة:

Browser Address Bar
http://your-server-ip:81

افعل هذا في الدقيقة الأولى. اعتمادًا على الإصدار، يطلب منك NPM إما استبدال تفاصيل مسؤول تسجيل الدخول الأول المعروفة بالبريد الإلكتروني الخاص بك وكلمة مرور قوية، أو - في الإصدارات الأحدث بدون حساب افتراضي - يقوم أول شخص يفتح صفحة المسؤول بإنشاء المسؤول. في كلتا الحالتين، القاعدة هي نفسها: قم بإعداد حساب المسؤول الخاص بك في اللحظة التي تبدأ فيها الحاوية، قبل إنشاء أي شيء آخر، واستخدم صندوق بريد حقيقي - رسائل البريد الإلكتروني NPM التي تتناول مشكلات الشهادات.

⚠️ لا تترك المنفذ 81 متاحًا للعامة أبدًا أثناء "الانتهاء منه لاحقًا". أي شخص على الإنترنت يجد اللوحة أولاً يمتلك الوكيل الخاص بك. احتفظ بلوحة الإدارة على شبكتك الخاصة فقط.
6

قم بإنشاء مضيف الوكيل الأول الخاص بك

في NPM، افتح المضيفون ← مضيفو الوكيل ← إضافة مضيف وكيل واملأ النموذج كجملة واحدة - "ينتقل هذا الاسم إلى تلك الخدمة الداخلية":

أسماء النطاقات: app.yourdomain.com - الاسم العام الدقيق من الخطوة 2، والذي يجب أن يتم حله بالفعل على الخادم الخاص بك.
المخطط: http لمعظم تطبيقات المنزل والمكتب. يصف المخطط العلاقة بين NPM والخدمة الداخلية، وليس ما يستخدمه الزوار - NPM يتولى التشفير العام عند الباب. اختر https هنا فقط عندما يخدم التطبيق الداخلي نفسه HTTPS.
إعادة توجيه اسم المضيف / IP: العنوان الداخلي للخدمة، على سبيل المثال 192.168.1.50.
منفذ إعادة التوجيه: المنفذ الذي تستمع إليه الخدمة فعليًا، على سبيل المثال 8080 - وليس 80 أو 443؛ تلك هي أبواب NPM، وليست أبواب الخدمة.

قم بتشغيل حظر برامج الاستغلال الشائعة، ثم حفظ. اختبر على الفور عن طريق فتح الاسم في المتصفح - من هاتفك بشكل مثالي مع إيقاف تشغيل Wi-Fi، حتى تتمكن من اختبار المسار العام الحقيقي.

✅ 502 بوابة سيئة من NPM هي إشارة وليست فاشلة: فهي تعني أن العالم الخارجي وصل إلى NPM بشكل مثالي وأن القفزة الداخلية الأخيرة فقط - اسم المضيف أو المنفذ - هي الخاطئة. أصلح هذا الحقل، وليس الإعداد بأكمله. فخ آخر: إذا تم تشغيل الخدمة في حاوية Docker أخرى، فسيكون localhost خطأ (داخل حاوية NPM، المضيف المحلي يعني NPM نفسه) - استخدم عنوان IP الخاص بالخادم مع المنفذ المنشور، أو ضع كلتا الحاويتين على نفس شبكة Docker واستخدم اسم الحاوية.
7

احصل على شهادة Let's Encrypt HTTPS المجانية

لا تفعل ذلك إلا بعد أن يعمل المضيف العادي من الخطوة 6 بالفعل - يمنحك HTTPS على مضيف معطل مضيفًا معطلاً بشهادة، وضعف الأماكن للبحث عن الخطأ. افتح نفس مضيف الوكيل، وانتقل إلى علامة التبويب SSL، وقم بتعيين شهادة SSL على طلب شهادة SSL جديدة، وقم بتمكين فرض SSL ودعم HTTP/2، ووافق على شروط خدمة Lets Encrypt، ثم احفظ. أعد تحميل الموقع - يجب أن يعرض المتصفح الآن القفل على https.

كيف يعمل: يثبت Lets Encrypt أنك تتحكم في الاسم من خلال مطالبة الخادم الخاص بك، عبر الإنترنت العام على المنفذ 80، بإظهار رمز مميز لمرة واحدة (تحدي HTTP-01). ولهذا السبب فإن توجيه DNS إليك والمنفذ 80 الذي يمكن الوصول إليه غير قابلين للتفاوض - ففشل أي منهما وفشل الطلب، والخطأ موجود في الإعداد، وليس في Lets Encrypt أبدًا. يقوم فرض SSL بإعادة توجيه كل زائر http إلى https تلقائيًا؛ وبدونها يبقى الباب غير المشفر مفتوحا بجانب الباب المشفر.

📌 تبقى الشهادات صالحة لمدة 90 يومًا ويقوم NPM بتجديدها تلقائيًا، عادةً قبل شهر تقريبًا من انتهاء الصلاحية، باستخدام نفس إثبات المنفذ 80. إذا فشلت عملية التجديد، فتحقق من الأسباب المملة أولاً: تم تغيير DNS، أو تمت إزالة إعادة توجيه جهاز التوجيه، أو تم حظر المنفذ 80. قم بتمكين HSTS فقط بعد تسوية الخدمة وإثبات التجديدات - وهو وعد قوي يتذكره المتصفحون لعدة أشهر.

🏷️متغيرات البحث والكلمات الرئيسية للموضوع

🔍 Nginx Proxy Manager 🔍 Reverse Proxy 🔍 Docker Compose 🔍 Lets Encrypt 🔍 Free HTTPS 🔍 Proxy Host 🔍 TechnicalAnshu 🔍 Self Hosting 🔍 Subdomain Setup 🔍 Port 80 443 81 🔍 Force SSL 🔍 Home Server
🎙️ نص كامل - انقر للتوسيع

__TOK_34__

__TOK_35__

__TOK_36__

❓ الأسئلة المتداولة

هل هذا البرنامج التعليمي مجاني للمتابعة بنسبة 100%؟

__TOK_37__

هل يمكن للمبتدئين اتباع هذا الدليل؟

__TOK_38__

أين يمكنني طرح الأسئلة إذا واجهت مشكلة؟

__TOK_39__

🚀 شاهد البرنامج التعليمي الكامل على اليوتيوب

__TOK_40__

__TOK_41__

▶️ شاهد الفيديو كاملاً
يعتمد هذا البرنامج التعليمي على فيديو تثبيت Nginx Proxy Manager الخاص بـ Technical Anshu • هل أنت عالق في أي خطوة؟ اسأل في تعليقات الفيديو – سوف تحصل على المساعدة هناك 🙏