מדריך קלאודפלייר בעברית

תיעוד 57

ניתוב

לפי התיעוד הרשמי של Cloudflare, עודכן ב-2 בספטמבר 2026. מקור: https://developers.cloudflare.com/tunnel/routing/index.md

Cloudflare Tunnel מנתב תעבורה מרשת Cloudflare לשירותים שרצים מאחורי cloudflared. כשאתם מפרסמים יישום, אתם ממפים שם מארח ציבורי לשירות מקומי, לדוגמה: app.example.com אל http://localhost:8080, ו-Cloudflare מפעיל שמירה במטמון של CDN, WAF והגנה מפני DDoS לפני שהוא מעביר את הבקשה למקור שלכם.

חיבורים יוצאים מרובים מ-cloudflared מפוזרים בין מרכזי נתונים של Cloudflare לצורך אמינות ומעבר לגיבוי בעת כשל.

#יישומים מפורסמים

יישום מפורסם הוא מיפוי של שם מארח לשירות שמוגדר בהגדרות המנהרה שלכם. כל מיפוי אומר ל-cloudflared איזה שירות מקומי צריך לקבל תעבורה עבור שם מארח ציבורי נתון.

אפשר לפרסם כמה יישומים על מנהרה אחת. לכל יישום ציינו:

  • שם מארח ציבורי: הדומיין או תת-הדומיין שהמשתמשים מבקרים בו (לדוגמה: app.example.com).
  • שירות: הכתובת המקומית או השקע שבו היישום רץ (לדוגמה: http://localhost:8080).

כשאתם מוסיפים נתיב דרך לוח הבקרה, Cloudflare יוצר אוטומטית רשומת DNS שמפנה את שם המארח אל תת-הדומיין של המנהרה (<UUID>.cfargotunnel.com).

הערה

נתיבי שם מארח ציבורי מעבירים תעבורה דרך Cloudflare בפרוקסי. בתוכניות Free, Pro ו-Business, התנאים הספציפיים לשירות ↗ דורשים להשתמש בשירות בתשלום מסוים כדי להגיש וידאו וקבצים גדולים אחרים.

עיינו ב-הגשת סרטונים עם Cloudflare למידע נוסף. כדי להעביר קבצים גדולים באופן פרטי, השתמשו ב-נתיב רשת פרטית במקום זאת.

#פרוטוקולים נתמכים

הטבלה הבאה מפרטת את סוגי השירות שאפשר לנתב אל שם מארח ציבורי. שירותים שאינם HTTP דורשים התקנת cloudflared אצל הלקוח כדי שמשתמשי הקצה יוכלו להתחבר.

סוג שירותתיאורערך שירות לדוגמה
HTTPמעביר בקשות HTTPS נכנסות לשירות הווב המקומי שלכם דרך HTTP.http://localhost:8000
HTTPSמעביר בקשות HTTPS נכנסות ישירות לשירות הווב המקומי שלכם. אפשר לבטל אימות TLS עבור אישורים בחתימה עצמית.https://localhost:8000
UNIXכמו HTTP, אבל משתמש בשקע Unix.unix:/home/production/echo.sock
UNIX + TLSכמו HTTPS, אבל משתמש בשקע Unix.unix+tls:/home/production/echo.sock
TCPמעביר זרם TCP מעל חיבור WebSocket. משתמשי הקצה מריצים cloudflared access tcp כדי להתחבר. לחיבורים ארוכי טווח, השתמשו ב-Client-to-Tunnel במקום זאת.tcp://localhost:2222
SSHמעביר זרם SSH מעל חיבור WebSocket. משתמשי הקצה מריצים cloudflared access ssh כדי להתחבר. לחיבורים ארוכי טווח, השתמשו ב-Client-to-Tunnel במקום זאת.ssh://localhost:22
RDPמעביר זרם RDP מעל חיבור WebSocket. למידע נוסף, עיינו ב-התחברות ל-RDP עם cloudflared בצד הלקוח.rdp://localhost:3389
SMBמעביר זרם SMB מעל חיבור WebSocket. למידע נוסף, עיינו ב-התחברות ל-SMB עם cloudflared בצד הלקוח.smb://localhost:445
HTTP_STATUSמשיב לכל הבקשות עם קוד סטטוס HTTP קבוע.http_status:404
BASTIONמאפשר ל-cloudflared לפעול כמארח קפיצה, ולספק גישה לכל כתובת מקומית.bastion
HELLO_WORLDשרת בדיקה לאימות חיבור Cloudflare Tunnel שלכם (רק עבור מנהרות בניהול מקומי).hello_world

#כתובות שירות ב-IPv6

כשערך השירות הוא כתובת IPv6 מילולית, עטפו את הכתובת בסוגריים מרובעים כפי שמוגדר ב-RFC 3986 ↗. הסוגריים נדרשים כדי שהתווים : בכתובת לא יתבלבלו עם מפריד הפורט.

סוג שירותערך שירות לדוגמה
HTTPhttp://[2001:db8::1]:8000
HTTPShttps://[2001:db8::1]:443
TCPtcp://[2001:db8::1]:2222
SSHssh://[2001:db8::1]:22
RDPrdp://[2001:db8::1]:3389

שמות מארח וכתובות IPv4 לא צריכים סוגריים מרובעים. http://localhost:8000 ו-http://192.0.2.1:8000 תקפים כפי שהם.

#רשומות DNS

כשאתם יוצרים מנהרה, Cloudflare מייצר תת-דומיין בכתובת <UUID>.cfargotunnel.com. אתם מפנים רשומת CNAME אל תת-הדומיין הזה כדי לנתב תעבורה משם המארח שלכם אל המנהרה.

תת-הדומיין cfargotunnel.com מעביר בפרוקסי רק תעבורה עבור רשומות DNS באותו חשבון Cloudflare. אם מישהו מגלה את ה-UUID של המנהרה שלכם, הוא לא יכול ליצור רשומת DNS בחשבון אחר כדי להעביר דרכה תעבורה בפרוקסי.

#יצירת רשומת DNS

כדי ליצור רשומת DNS עבור Cloudflare Tunnel:

  1. היכנסו ל-לוח הבקרה של Cloudflare ↗ ועברו אל DNS Records של הדומיין שלכם. מעבר אל Records
  2. בחרו Add record.
  3. הזינו את הערכים הבאים:
  • Type: CNAME
  • Name: תת-הדומיין של היישום שלכם
  • Target: <UUID>.cfargotunnel.com
  1. בחרו Save. דוגמה לשדות שמולאו כדי ליצור רשומת CNAME חדשה.

עבור מנהרות בניהול מקומי, הריצו את הפקודה הבאה כדי ליצור רשומת CNAME שמצביעה אל תת-הדומיין של המנהרה:

cloudflared tunnel route dns <UUID or NAME> www.app.com

הפקודה יוצרת רשומת CNAME, אבל לא מעבירה תעבורה בפרוקסי אלא אם המנהרה רצה.

הערה

כדי ליצור רשומות DNS באמצעות cloudflared, קובץ cert.pem חייב להיות מותקן במערכת שלכם.

רשומת ה-DNS והמנהרה בלתי תלויות זו בזו. אפשר ליצור רשומות DNS שמצביעות אל מנהרה שאינה רצה. אם מנהרה נעצרת, רשומת ה-DNS לא נמחקת. מבקרים יראו שגיאת 1016.

אפשר גם ליצור כמה רשומות DNS שמצביעות אל אותו תת-דומיין של מנהרה. אם אתם מנתבים תעבורה מכמה שמות מארח אל כמה שירותים, צרו רשומת CNAME לכל שם מארח. כל הרשומות חולקות את אותו יעד.

#איזון עומסים

השתמשו ב-מאזן עומסים ציבורי כדי לפזר תעבורה בין שרתים שמריצים את היישומים המפורסמים שלכם. זה מספק מעבר לגיבוי לפי בדיקות תקינות, והיגוי תעבורה חכם בין אזורים.

תיאור התרשים בקוד
graph LR
    accTitle: Load balancing traffic to applications behind Cloudflare Tunnel

    A[Internet] --> C{Cloudflare <br> Load Balancer}
    C -- Tunnel 1 --> cf1
    C -- Tunnel 2 --> cf2
    subgraph F[Data center 2]
        cf2[cloudflared]
        S3[App server]
        S4[App server]
        cf2-->S3
        cf2-->S4
    end
    subgraph E[Data center 1]
        cf1[cloudflared]
        S1[App server]
        S2[App server]
        cf1-->S1
        cf1-->S2
    end

#עותקים לעומת מאזני עומסים

הרצה של כמה עותקים של cloudflared על אותו UUID של מנהרה מספקת יתירות בסיסית: אם מארח אחד נכשל, עותקים אחרים ממשיכים לשרת תעבורה. עם זאת, מאזן העומסים מתייחס לכל העותקים של אותו UUID של מנהרה כאל נקודת קצה אחת.

להיגוי תעבורה מדויק ול-זיקה לסשן, חברו כל מארח באמצעות UUID מנהרה שונה, כדי שמאזן העומסים יוכל לפנות אליהם בנפרד.

#הוספת מנהרה למאגר של מאזן עומסים

דרישות מקדימות

Cloudflare Tunnel עם לפחות נתיב יישום מפורסם אחד.

כדי ליצור מאזן עומסים עבור יישומים מפורסמים של Cloudflare Tunnel:

  1. בלוח הבקרה של Cloudflare, עברו אל דף Load Balancing. מעבר אל Load Balancing
  2. בחרו Create load balancer, ואחר כך בחרו Public load balancer.
  3. תחת Select website, בחרו את הדומיין של נתיב היישום המפורסם שלכם.
  4. בדף Hostname, הזינו שם מארח למאזן העומסים (לדוגמה: lb.example.com).
  5. בדף Pools, בחרו Create a pool והזינו שם תיאורי.
  6. הוסיפו נקודת קצה של מנהרה עם הערכים הבאים:
  • Endpoint Name: שם השרת שמריץ את היישום
  • Endpoint Address: <UUID>.cfargotunnel.com (מצאו את מזהה המנהרה ב-לוח הבקרה של Cloudflare תחת Networking > Tunnels)
  • Header value: שם המארח של נתיב היישום המפורסם שלכם (לדוגמה: app.example.com)
  • Weight: 1 (אם יש רק נקודת קצה אחת)

הערה

מאגר מקור יחיד לא יכול להפנות לאותו UUID של מנהרה פעמיים.

  1. בחרו Fallback pool. עיינו ב-מדיניות היגוי תעבורה לאפשרויות ניתוב.
  2. (מומלץ) בדף Monitors, צרפו מוניטור לנקודת הקצה. עבור יישום HTTP או HTTPS, צרו מוניטור HTTPS:
  • Type: HTTPS
  • Path: /
  • Port: 443
  • Expected Code(s): 200
  • Header Name: Host
  • Value: app.example.com
  1. שמרו ופרסו את מאזן העומסים.

לבדיקה, גשו ליישום באמצעות שם המארח של מאזן העומסים (lb.example.com).

ניטור מקורות מנהרת TCP

מוניטורי TCP אינם נתמכים עבור נקודות קצה של מנהרה. במקום זאת, צרו נקודת קצה לבדיקת תקינות במארח של cloudflared והשתמשו במוניטור HTTPS. לדוגמה, אפשר להשתמש ב-cloudflared כדי להחזיר תגובת סטטוס HTTP קבועה:

  1. הוסיפו נתיב יישום מפורסם לבדיקת התקינות:
  • Hostname: health-check.example.com
  • Service Type: HTTP_STATUS
  • HTTP Status Code: 200
  1. צרו מוניטור עם ההגדרות האלה:
  • Type: HTTPS
  • Path: /
  • Port: 443
  • Expected Code(s): 200
  • Header Name: Host
  • Value: health-check.example.com

המוניטור הזה מאמת ש-cloudflared נגיש. הוא לא בודק אם השירות במעלה הזרם מקבל בקשות.

העדפת חיבור מקומי

אם אתם מבחינים בחוסר איזון של תעבורה בין נקודות קצה במיקומים שונים, ייתכן שתצטרכו לכוון את הגדרות מאזן העומסים.

Cloudflare משתמש ב-ניתוב Anycast ↗ כדי להפנות בקשות של משתמשי קצה אל מרכז הנתונים הקרוב ביותר. cloudflared מעדיף לשרת בקשות באמצעות חיבורים באותו מרכז נתונים, וזה יכול להשפיע על אופן פיזור התעבורה בין נקודות קצה.

אם אתם מריצים עותקי cloudflared על אותו UUID של מנהרה, שקלו לעבור למנהרות נפרדות כדי לקבל שליטה מדויקת יותר על היגוי תעבורה.

#הגדרות Cloudflare

יישומים מפורסמים יורשים את הגדרות Cloudflare של שם המארח שלהם, כולל כללי מטמון, כללי WAF, והגדרות Rules אחרות. אפשר לשנות את ההגדרות האלה לכל שם מארח ב-לוח הבקרה של Cloudflare ↗.

אם אתם משתמשים במאזן עומסים, ההגדרות חלות על שם המארח של מאזן העומסים במקום זאת.