يتيح لك Cloudflare Tunnel عرض تطبيق مستضاف ذاتيًا على الإنترنت دون فتح ولو منفذ واحد في جدار الحماية، ودون عنوان IP ثابت، ودون دفع أي شيء. فبدلًا من إعادة توجيه المنافذ على جهاز التوجيه لديك، تُشغّل على خادمك عميلًا خفيفًا يُسمى cloudflared؛ وهو يفتح اتصالًا صادرًا نحو حافة شبكة Cloudflare، ويعود حركة المرور العامة إلى تطبيقك عبر هذا الاتصال نفسه. يشرح هذا الدليل إعداد Cloudflare Tunnel كاملًا بطريقتين (لوحة التحكم وسطر الأوامر)، ثم يتناول الحالات التي يكون فيها النفق الأداة الخاطئة.
ما هو Cloudflare Tunnel، ولماذا نستخدمه؟
إن Cloudflare Tunnel هو رابط دائم وصادر فقط بين خادم الأصل لديك وشبكة Cloudflare. ولأن الاتصال يُبدأ من جانبك، فلا توجد منافذ واردة لفتحها ولا شيء يمكن لماسح المنافذ أن يعثر عليه. تصل حركة المرور الموجّهة إلى app.yourdomain.com إلى Cloudflare أولًا، ثم تنتقل عبر النفق القائم إلى cloudflared، الذي يسلّمها إلى خدمتك المحلية على localhost:8080 مثلًا. تحصل مجانًا على شهادة TLS من Cloudflare، والحماية من هجمات DDoS، وجدار حماية تطبيقات الويب (WAF) أمام تطبيقك، ويبقى عنوان IP الحقيقي لخادمك مخفيًا. وبحسب وثائق Cloudflare Tunnel، تعمل الأنفاق على كل خطة، بما في ذلك الخطة المجانية، دون حد أقصى لعدد ما تنشئه منها. وهذا المزيج — صفر منافذ مكشوفة إضافة إلى حافة مُدارة مجانية — هو سبب لجوء أصحاب المختبرات المنزلية والفرق الصغيرة إليه بدلًا من إعادة توجيه المنافذ التقليدية.
قبل أن تبدأ: ما تحتاج إليه
الإعداد قصير، لكن ثلاثة متطلبات غير قابلة للتفاوض:
- نطاق على Cloudflare. يجب أن تشير خوادم أسماء نطاقك إلى Cloudflare حتى يتمكن من إنشاء سجلات DNS التي توجّه إلى نفقك. النطاق نفسه قد يكون رخيصًا؛ وحساب Cloudflare مجاني.
- خدمة قيد التشغيل لعرضها. أي شيء يستجيب على منفذ محلي — تطبيق Node على
:3000، أو Nextcloud على:80، أو لوحة تحكم على:8080. وإن لم يكن لديك جهاز بعد، فابدأ بـ دليلنا للساعة الأولى الآمنة على خادم VPS. - تثبيت
cloudflaredعلى ذلك الخادم. إنه ملف Go تنفيذي واحد متاح لأنظمة Linux وmacOS وWindows، ومُحزَّم لـaptوbrewوDocker عبر مستودع cloudflared الرسمي.
هذا كل شيء. لا قاعدة جدار حماية واردة، ولا إعداد لجهاز التوجيه، ولا استئجار عنوان IPv4 عام.
الطريقة 1: النفق المُدار عن بُعد عبر لوحة التحكم (remote-managed)
هذه أسرع طريقة لمعظم الناس، وفي 2026 يوجّه Cloudflare المستخدمين الجدد إلى هنا لأن الإعداد يعيش في السحابة بدلًا من ملف عليك الاعتناء به.
- انتقل إلى لوحة تحكم Zero Trust (
one.dash.cloudflare.com) ← Networks ← Tunnels ← Create a tunnel ← اختر Cloudflared. - سمِّ النفق، ثم انسخ أمر التثبيت الذي يولّده Cloudflare. فهو يتضمن رمزًا مميزًا طويلًا ويبدو مثل
sudo cloudflared service install <TUNNEL_TOKEN>. - الصق ذلك الأمر ونفّذه على خادمك. فهو يسجّل خدمة
systemd(أو مهمةlaunchdعلى macOS)، ويبدأ عند الإقلاع، ويعيد التشغيل بعد أي تعطّل. وبالعودة إلى لوحة التحكم، تعني الحالة الخضراء Healthy أن الاتصال حيّ. - افتح علامة التبويب Public Hostname ← Add a public hostname. اضبط النطاق الفرعي (
app) والنطاق والخدمة المحلية (http://localhost:8080)، ثم اضغط Save. يُنشئ Cloudflare تلقائيًا سجل CNAMEapp.yourdomain.com → <uuid>.cfargotunnel.com.
زُر https://app.yourdomain.com وستكون بذلك تقدّم الخدمة عبر HTTPS بشهادة صادرة من Cloudflare. ولا يحتاج جهازك المحلي إلى أي إعداد لـ TLS.
الطريقة 2: النفق المُدار محليًا عبر سطر الأوامر (locally-managed)
إن كنت تفضّل الإعداد بوصفه شيفرة، أو تريد كل شيء ضمن التحكم في الإصدارات، أو توجّه عدة خدمات عبر نفق واحد، فاستخدم سير العمل المُدار محليًا. أسماء الأوامر أدناه هي أفعال cloudflared المستقرة والموثّقة:
# 1. مصادقة هذا الجهاز (يفتح متصفحًا لاختيار نطاقك)
cloudflared tunnel login
# 2. إنشاء نفق مُسمّى — يكتب ملف اعتماد .json ويطبع UUID
cloudflared tunnel create my-tunnel
# 3. توجيه اسم مضيف إلى النفق (ينشئ سجل CNAME في DNS نيابةً عنك)
cloudflared tunnel route dns my-tunnel app.yourdomain.com
ثم صِف توجيهك في ~/.cloudflared/config.yml:
tunnel: my-tunnel
credentials-file: /home/user/.cloudflared/<UUID>.json
ingress:
- hostname: app.yourdomain.com
service: http://localhost:8080
- hostname: files.yourdomain.com
service: http://localhost:80
- service: http_status:404 # قاعدة الالتقاط الشامل مطلوبة، ويجب أن تكون الأخيرة
يجب أن ينتهي كل ملف إعداد بقاعدة التقاط شامل (سطر http_status:404)، وإلا رفض cloudflared أن يبدأ. اختبره في المقدمة بـ cloudflared tunnel run my-tunnel، وبمجرد أن يعمل، ثبّته كخدمة كي يصمد أمام عمليات إعادة التشغيل:
sudo cloudflared service install
sudo systemctl enable --now cloudflared
sudo systemctl status cloudflared # تأكيد أنه نشط
sudo journalctl -u cloudflared -f # تتبّع السجلات
هذا هو النهج الذي يتناسب بسلاسة مع حزمة الاستضافة الذاتية؛ راجع دليلنا خطوة بخطوة للاستضافة الذاتية على خادم VPS لربطه إلى جانب Docker.
اختبره في 30 ثانية عبر نفق سريع (quick tunnel)
قبل الالتزام بأي من ذلك، يمكنك إثبات الفكرة دون حساب ودون أي DNS على الإطلاق:
cloudflared tunnel --url http://localhost:8080
يطبع هذا عنوان URL عشوائيًا بصيغة https://<words>.trycloudflare.com يوجّه مباشرةً إلى منفذك المحلي وينتهي عند إيقاف العملية. وهو محدود المعدّل ومخصص للعروض التوضيحية واختبار الـ webhooks ولحظات "هل يستطيع زميل رؤية هذا الآن؟" — لا للإنتاج. لكنه أسرع طريقة لتأكيد أن تطبيقك قابل للوصول عبر حافة Cloudflare.
Cloudflare Tunnel مقابل البدائل
النفق ليس الطريقة الوحيدة للوصول إلى تطبيق مستضاف ذاتيًا. إليك كيف يقارَن بالخيارات المعتادة في 2026:
| الطريقة | منافذ مفتوحة؟ | عنوان IP عام مطلوب | التكلفة | الأنسب لـ |
|---|---|---|---|---|
| Cloudflare Tunnel | لا | لا | مجاني | تطبيقات الويب العامة خلف نطاق |
| إعادة توجيه المنافذ + بروكسي عكسي | نعم | نعم | مجاني (+ نطاق) | تحكّم كامل، دون طرف ثالث في المسار |
| Tailscale / WireGuard | لا | لا | طبقة مجانية | وصول خاص لك ولفريقك فقط |
| ngrok | لا | لا | طبقة مجانية، مدفوعة للنطاقات المخصصة | عروض سريعة، webhooks التطوير |
| عنوان IP ثابت + قواعد جدار حماية | نعم | نعم | رسوم إضافية من مزود الخدمة | خدمات قديمة أو غير HTTP |
باختصار: إن أردت شيئًا قابلًا للوصول بشكل عام على نطاقك الخاص مع حافة مُدارة أمامه، فالنفق هو الفائز. وإن كنت تحتاج أن تصل أنت وحدك إلى الجهاز، فإن شبكة VPN شبكية مثل Tailscale أبسط وتُبقي حركة المرور خاصة من طرف إلى طرف.
متى لا يجب استخدام Cloudflare Tunnel
الأنفاق ممتازة، لكنها ليست شاملة لكل الحالات:
- الوسائط الثقيلة غير HTML. تقيّد شروط Cloudflare تقديم كميات كبيرة من الفيديو أو تنزيلات الملفات التي ليست جزءًا من موقع ويب. فخادم Plex أو خادم ملفات مستضاف ذاتيًا وثقيل الوسائط قد يصطدم بذلك؛ ويتجنب بروكسي عكسي على عنوان IP الخاص بك هذه المسألة.
- يرى Cloudflare حركة مرورك. ينتهي تشفير TLS عند حافة Cloudflare، فبإمكانه تقنيًا فحص الطلبات. وبالنسبة لمعظم أصحاب الاستضافة الذاتية هذه المقايضة مقبولة؛ أما لإعدادات انعدام الثقة تجاه الأطراف الثالثة فليست كذلك.
- تحتاج إلى نطاق على Cloudflare. عدم وجود نطاق، أو وجود DNS لا يمكنك نقله إلى Cloudflare، يعني أن الأنفاق المُسمّاة ليست خيارًا (تبقى الأنفاق السريعة صالحة للاختبار).
- البروتوكولات الحساسة لزمن الاستجابة أو غير HTTP قد تكون أصعب وتحتاج أحيانًا إلى منتج Cloudflare المدفوع Spectrum بدلًا من نفق عادي.
أحكِم إغلاقه باستخدام Cloudflare Access
عرض تطبيق للعموم ومصادقته مهمتان مختلفتان. يتولى النفق النقل؛ ولضبط من يمكنه الوصول إلى التطبيق، ضع Cloudflare Access أمام اسم المضيف نفسه. فهو يضع صفحة تسجيل دخول (Google أو GitHub أو رمز PIN لمرة واحدة عبر البريد الإلكتروني) قبل تطبيقك، وخطة Zero Trust من Cloudflare مجانية لما يصل إلى 50 مستخدمًا. وبالنسبة للوحة إدارة أو واجهة قاعدة بيانات مثل تلك في دليلنا للاستضافة الذاتية لـ Supabase، تكون بوابة تسجيل الدخول تلك أهم من النفق نفسه.
الأسئلة الشائعة
هل يمكنني استخدام Cloudflare Tunnel مجانًا؟
نعم. الأنفاق مضمّنة في كل خطة من Cloudflare، بما في ذلك الطبقة المجانية، دون حد لعدد الأنفاق أو الخدمات الموجّهة. لا تحتاج إلا إلى نطاق (مدفوع) وحساب Cloudflare مجاني. كما أن ميزات Zero Trust التي تضيف المصادقة مجانية أيضًا لما يصل إلى 50 مستخدمًا.
ما الغاية من Cloudflare Tunnel؟
يتيح لخادمٍ الوصول إلى الإنترنت العام دون كشف أي منافذ واردة أو عنوان IP عام. يتصل الخادم صادرًا نحو Cloudflare، وتعود الطلبات الواردة عبر ذلك الاتصال الصادر نفسه. تحصل على HTTPS، والحماية من هجمات DDoS، وعنوان IP أصل مخفي دون المساس بجدار الحماية أو جهاز التوجيه لديك.
هل يمكنني استخدام Cloudflare Tunnel دون نطاق؟
للنفق الدائم المُسمّى، لا — تحتاج إلى نطاق تُدار DNS الخاصة به بواسطة Cloudflare. أما للاختبار المؤقت فيمكنك تشغيل نفق سريع (cloudflared tunnel --url ...)، الذي يمنحك عنوان URL عشوائيًا من trycloudflare.com دون نطاق ودون حساب.
فيمَ يمكنك استخدام Cloudflare Tunnels؟
نشر التطبيقات المستضافة ذاتيًا (لوحات التحكم، والويكي، وNextcloud، وخدمات المختبر المنزلي)، وعرض خادم تطوير محلي لاختبار الـ webhooks، ومنح وصول SSH أو RDP عن بُعد عبر Cloudflare، ووضع حافة مُدارة مجانية أمام أي خدمة HTTP تعمل على عتاد تتحكم فيه.
Sources
- Cloudflare — Cloudflare Tunnel documentation: ما هو النفق، وأنه صادر فقط، وأنه يعمل على الخطة المجانية.
- Cloudflare — Set up Cloudflare Tunnel: أمر
cloudflared service installوراية النفق السريع--url. - Cloudflare — Tunnel configuration file: قواعد الـ ingress وقاعدة الالتقاط الشامل المطلوبة.
- Cloudflare — Cloudflare One / Zero Trust: مصادقة Access أمام نفق.
- GitHub — cloudflare/cloudflared: عميل النفق، وحزم التثبيت، والمنصات المدعومة.
وقاص احمد وسیر
وقاص احمد وسیر مطوّر ومهندس أتمتة بخبرة تزيد على 8 سنوات في بناء أنظمة إنتاجية يستخدمها أكثر من 100 ألف شخص. يبني تطبيقات SaaS متعددة المستأجرين، وأتمتة بالذكاء الاصطناعي (n8n، تدفقات LLM، بوتات واتساب)، وبنية استضافة (WHM/cPanel، CloudLinux) — وهو صانع WaSphere وFlowMaticX وعلامة الاستضافة WaseerHost. أنجز أكثر من 100 مشروع لشركات صغيرة ومتوسطة ووكالات وشركات ناشئة ممولة.



