اتصل بنا

info@serverion.com

اتصل بنا

+1 (302) 380 3902

دليل كامل لبناء وكيل عكسي آمن لـ Nginx

دليل كامل لبناء وكيل عكسي آمن لـ Nginx

إنشاء وكيل عكسي آمن وموثوق وقابل للتطوير أمر بالغ الأهمية للشركات ومحترفي تكنولوجيا المعلومات الذين يديرون مواقع ويب عالية الاستخدام أو تطبيقات معقدة. يُعد Nginx، وهو خادم ويب ووكيل عكسي مفتوح المصدر، حلاً فعالاً لتوجيه حركة المرور إلى خدماتك الخلفية وتحسينها وتأمينها. في هذا الدليل، سنشرح عملية إعداد وكيل عكسي قوي باستخدام Nginx على نظام Ubuntu 24.04، مع تغطية خطوات مهمة مثل تشفير TLS، وتحديد السرعة، والتكامل مع Cloudflare.

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

ما هو الوكيل العكسي Nginx؟

يعمل وكيل Nginx العكسي كخادم وسيط بين العملاء وخدمات الواجهة الخلفية. فهو يُعيد توجيه طلبات العملاء إلى الخادم الخلفي المناسب، مما يُحسّن توزيع الحمل، ويُعزز الأمان، ويُمكّن ميزات مثل التخزين المؤقت، وإنهاء SSL، وتصفية حركة البيانات. يُعد هذا الإعداد مفيدًا بشكل خاص لاستضافة خوادم الوسائط، والتطبيقات متعددة المواقع، والخدمات خلف جدران الحماية.

لماذا تحتاج إلى وكيل عكسي

يوفر الوكيل العكسي العديد من الفوائد الرئيسية:

  • تعزيز الأمن:يخفي عناوين IP الخاصة بخوادم الواجهة الخلفية ويمكّن التشفير عبر TLS/SSL.
  • موازنة التحميل:توزيع حركة المرور بالتساوي عبر خوادم خلفية متعددة.
  • تحسين:يقلل من زمن الوصول ويحسن كفاءة الموارد.
  • قابلية التوسع:يجعل إدارة السيناريوهات ذات الحركة المرورية الكثيفة أسهل.
  • سهولة الإدارة:يبسط تكوين خدمات الواجهة الخلفية المتعددة خلف نطاق موحد.

في هذا البرنامج التعليمي، سنوضح كيفية:

  • إعداد Nginx كوكيل عكسي.
  • قم بتأمين إعداداتك باستخدام شهادات Let's Encrypt TLS.
  • قم بتكوين التحسينات المتقدمة مثل تحديد المعدل وإعادة توجيه الطلب.
  • دمج Cloudflare لتجاوز قيود منفذ مزود خدمة الإنترنت.

الخطوة 1: تثبيت Nginx و Certbot على Ubuntu 24.04

تحديث نظامك

قبل تثبيت أي برنامج، تأكد من تحديث نظامك:

sudo apt update && sudo apt upgrade 

تثبيت Nginx و Certbot

استخدم الأوامر التالية لتثبيت Nginx وCertbot مع البرنامج الإضافي Nginx:

sudo apt install nginx -y sudo apt install certbot python3-certbot-nginx -y 

التحقق من التثبيت

تأكد من تشغيل Nginx:

sudo systemctl status nginx 

لاختبار الوصول، حدد عنوان IP الخاص بخادمك:

اي بي ا 

قم بزيارة عنوان IP في المتصفح. في حال نجاح ذلك، ستظهر لك صفحة ترحيب Nginx الافتراضية.

الخطوة 2: تكوين قواعد جدار الحماية

تمكين جدار الحماية غير المعقد (UFW)

يتيح لك UFW إدارة قواعد جدار الحماية بسهولة:

sudo ufw تسمح بـ "Nginx Full" Sudo ufw تسمح بتمكين OpenSSH sudo ufw 

تحقق من حالة جدار الحماية لديك للتأكد من أن المنافذ الصحيحة مفتوحة:

حالة sudo ufw 

الخطوة 3: إعداد تكوين وكيل Nginx

إنشاء ملفات تكوين مخصصة

لمزيد من المرونة والأمان، استخدم ملفات المقتطفات لتخزين تكوينات محددة. أنشئ الملفات التالية:

  1. عناوين الأمان:
    Sudo nano /etc/nginx/snippets/security-headers.conf 
    قم بتحديد رؤوس الأمان لتعزيز الحماية:
    إضافة رأس خيارات إطار X "SAMEORIGIN"؛ إضافة رأس خيارات نوع محتوى X "nosniff"؛ إضافة رأس حماية XSS "1؛ الوضع=block"؛ 
  2. إعدادات الوكيل:
    سودو نانو /etc/nginx/snippets/proxy.conf 
    تحسين التدفقات الطويلة ومنع الاستجابات البطيئة:
    مهلة اتصال الوكيل 60 ثانية؛ مهلة إرسال الوكيل 60 ثانية؛ مهلة قراءة الوكيل 60 ثانية؛ 
  3. حدود المعدل:
    Sudo nano /etc/nginx/snippets/rate-limit.conf 
    التخفيف من الطلبات المفرطة:
    منطقة الحد الأقصى للطلب $binary_remote_addr=mylimit:10m rate=10r/s; 

تضمين المقاطع في التكوين الرئيسي

تعديل تكوين Nginx الرئيسي:

سودو نانو /etc/nginx/nginx.conf 

أضف ما يلي تحت http حاجز:

تشمل /etc/nginx/snippets/*.conf؛ 

أعد تشغيل Nginx لتطبيق التغييرات:

sudo systemctl reload nginx 

الخطوة 4: إعداد الوكيل العكسي لخدمة الواجهة الخلفية

إنشاء مضيف افتراضي

إنشاء ملف تكوين لخدمة الواجهة الخلفية الخاصة بك:

sudo nano /etc/nginx/sites-available/jellyfin 

مثال على التكوين لخادم الوسائط Jellyfin:

الخادم {استمع 80؛ اسم الخادم jelly.yourdomain.com؛ الموقع / {مسار الوكيل http://10.10.0.112:8096؛ يتضمن /etc/nginx/snippets/proxy.conf؛ } } 

تمكين الموقع عن طريق إنشاء رابط رمزي:

sudo ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/ 

اختبار وإعادة تحميل Nginx:

sudo nginx -t sudo systemctl reload nginx 

الخطوة 5: تأمين نطاقك باستخدام Let's Encrypt TLS

لتأمين نطاقك، استخدم Let's Encrypt لإصدار شهادات مجانية:

sudo certbot --nginx -d Jelly.yourdomain.com 

يقوم Certbot تلقائيًا بتكوين SSL في ملف موقع Nginx الخاص بك. لضمان تجديد الشهادات تلقائيًا، تأكد من تفعيل مؤقت systemd:

sudo systemctl list-timers | grep certbot 

الخطوة 6: دمج Cloudflare لمزيد من الأمان وتجاوز منفذ مزود خدمة الإنترنت

تثبيت Cloudflared

يقوم Cloudflared بإنشاء نفق آمن لتوجيه حركة المرور عبر Cloudflare، متجاوزًا قيود مزود خدمة الإنترنت على المنفذين 80 و443:

  1. تنزيل .deb الحزمة من صفحة GitHub الخاصة بـ Cloudflare.
  2. تثبيت الحزمة:
    sudo dpkg -i cloudflared-version.deb 

تكوين نفق

قم بالمصادقة باستخدام حساب Cloudflare الخاص بك:

تسجيل الدخول إلى نفق CloudFlared 

إنشاء نفق جديد:

إنشاء نفق Cloudflared 

تعديل ملف تكوين Cloudflare:

سودو نانو /etc/cloudflared/config.yml 

مثال على التكوين:

النفق: ملف بيانات اعتماد my-tunnel: /home/user/.cloudflared/my-tunnel.json الدخول: - اسم المضيف: jelly.yourdomain.com الخدمة: http://localhost:8096 - الخدمة: http_status:404 

بدء تشغيل خدمة النفق وتمكينها:

sudo systemctl تمكين cloudflared sudo systemctl بدء cloudflared 

النقاط الرئيسية

  • وكيل Nginx العكسي:ضروري لتوجيه حركة المرور بشكل آمن وتحسين الخدمات الخلفية.
  • تشفير TLS:استخدم Let's Encrypt لتأمين نطاقاتك باستخدام شهادات SSL المجانية.
  • قواعد جدار الحماية:افتح المنافذ الضرورية لـ HTTP (80)، وHTTPS (443)، وSSH (22).
  • تحسين الأمان:تنفيذ الرؤوس والحد من المعدلات لمنع الهجمات.
  • تكامل كلاود فلير:استخدم أنفاق Cloudflared للحصول على استضافة آمنة وصديقة لمزودي خدمة الإنترنت.
  • التشغيل الآلي:تضمن مؤقتات Systemd تجديد شهادات SSL تلقائيًا.

خاتمة

يتطلب إعداد وكيل عكسي آمن لـ Nginx دقةً في التفاصيل وتكوينًا دقيقًا، لكن النتيجة تستحق الجهد المبذول. سواءً كنت تستضيف خوادم وسائط مثل Jellyfin أو تدير تطبيقات مؤسسية، فإن هذا الدليل يزودك بالأدوات والمعرفة اللازمة لبناء بيئة عالية الأمان والكفاءة. بفضل ميزات مثل TLS وأنفاق Cloudflare والتحسينات المتقدمة، ستكون بنيتك التحتية جاهزة لتلبية المتطلبات الحديثة.

المصدر: "توقف عن كشف تطبيقاتك! أنشئ وكيل Nginx عكسي آمن!" - KeepItTechie، يوتيوب، ١٩ أغسطس ٢٠٢٥ - https://www.youtube.com/watch?v=MzbhS2S7H_g

الاستخدام: مُضمّن للرجوع إليه. اقتباسات موجزة للتعليق/المراجعة.

منشورات المدونة ذات الصلة

ar