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

תיעוד 151

תחילת העבודה

צרו Cloudflare Tunnel ופרסמו את היישום הראשון שלכם תוך פחות מ-5 דקות.

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

טיפ

אם השרת שלכם נמצא מאחורי חומת אש מגבילה, ודאו שהוא יכול להגיע ל-Cloudflare בפורט 7844 לפני שממשיכים. ראו שגיאות חיבור.

#יצירת מנהרה

כדי ליצור Cloudflare Tunnel חדש:

  1. בלוח הבקרה של Cloudflare, עברו אל Networking > Tunnels. מעבר אל Tunnels
  2. בחרו Create Tunnel.
  3. הזינו שם למנהרה (לדוגמה, production-web או staging-api).
  4. בחרו Create Tunnel.
  5. תחת Setup Environment, בחרו את מערכת ההפעלה ואת הארכיטקטורה של השרת.
  6. העתיקו את פקודות ההתקנה שמופיעות תחת Install and Run והריצו אותן במסוף בשרת.
  7. אחרי שהמנהרה מתחברת, בחרו Continue.

המנהרה אמורה להופיע בדף Tunnels עם סטטוס Healthy.

  1. צרו אסימון API עם ההרשאות הבאות:

    סוגפריטהרשאה
    AccountCloudflare TunnelEdit
    ZoneDNSEdit
  2. צרו מנהרה:

    הרשאות נדרשות לאסימון API

    נדרשת לפחות אחת מהרשאות האסימון הבאות:

    • Cloudflare One Connectors Write
    • Cloudflare One Connector: cloudflared Write
    • Cloudflare Tunnel Write

    Create a Cloudflare Tunnel

    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/cfd_tunnel" \
        --request POST \
        --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
        --json '{
            "name": "api-tunnel",
            "config_src": "cloudflare"
        }'
  3. העתיקו את הערכים id ו-token מהתשובה. תצטרכו אותם כדי להגדיר ולהריץ את המנהרה.

#פרסום יישום

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

אם המקור כבר מגיש HTTPS או מפנה מ-HTTP אל HTTPS, ראו פתרון בעיות במקורות HTTPS כדי לבחור את Service URL ואת הגדרות המקור.

  1. בלוח הבקרה של Cloudflare, עברו אל Networking > Tunnels ובחרו את המנהרה שלכם. מעבר אל Tunnels

  2. תחת Routes, בחרו Add route.

  3. בחרו Published application.

  4. תחת Hostname, הזינו תת-דומיין ובחרו דומיין מהתפריט הנפתח.

  5. עבור Service URL, הזינו את הכתובת המקומית ואת הפורט של היישום.

    לדוגמה, אם שרת האינטרנט רץ על אותה מכונה כמו cloudflared:

    • HTTP בפורט 80: http://localhost:80
    • HTTPS בפורט 443: https://localhost:443

    אם שרת האינטרנט רץ על מכונה אחרת: http://192.0.2.1:80

    אם אישור המקור מכסה את שם המארח הציבורי ולא את כתובת השירות, הגדירו את Origin Server Name לשם המארח של האישור והשאירו את Disable TLS certificate verification כבוי. ראו פתרון בעיות במקורות HTTPS להגדרה המלאה.

  6. בחרו Add route.

  7. הגדירו את כללי ה-ingress של המנהרה:

    הרשאות נדרשות לאסימון API

    נדרשת לפחות אחת מהרשאות האסימון הבאות:

    • Cloudflare One Connectors Write
    • Cloudflare One Connector: cloudflared Write
    • Cloudflare Tunnel Write

    Update Tunnel configuration

    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/cfd_tunnel/$TUNNEL_ID/configurations" \
        --request PUT \
        --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
        --json '{
            "config": {
                    "ingress": [
                            {
                                    "hostname": "app.example.com",
                                    "service": "http://localhost:80",
                                    "originRequest": {}
                            },
                            {
                                    "service": "http_status:404"
                            }
                    ]
            }
        }'

    כללי ה-ingress חייבים לכלול כלל catch-all בסוף. בדוגמה זו, cloudflared יגיב בקוד סטטוס 404 כאשר הבקשה לא תואמת לאף שם מארח.

  8. צרו רשומת DNS ליישום:

    הרשאות נדרשות לאסימון API

    נדרשת לפחות אחת מהרשאות האסימון הבאות:

    • DNS Write

    Create DNS Record

    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
        --request POST \
        --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
        --json '{
            "type": "CNAME",
            "proxied": true,
            "name": "app.example.com",
            "content": "<TUNNEL_ID>.cfargotunnel.com"
        }'
  9. התקינו את cloudflared בשרת והריצו את המנהרה באמצעות ה-token שהתקבל ביצירת מנהרה:

    1. הורידו והתקינו את cloudflared.

    2. הריצו את הפקודה הבאה:

      sudo cloudflared service install <TUNNEL_TOKEN>
    3. הורידו והתקינו את cloudflared.

    4. פתחו את Command Prompt כמנהל.

    5. הריצו את הפקודה הבאה:

      cloudflared.exe service install <TUNNEL_TOKEN>
    6. הורידו והתקינו את cloudflared.

    7. פתחו חלון מסוף והריצו את הפקודה הבאה:

      sudo cloudflared service install <TUNNEL_TOKEN>
    8. פתחו חלון מסוף.

    9. הריצו את הפקודה הבאה:

      docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <TUNNEL_TOKEN>

היישום שלכם פעיל עכשיו בשם המארח שהגדרתם. Cloudflare מעבירה את התעבורה דרך הרשת שלה באופן אוטומטי, ומחילה מטמון CDN, WAF והגנת DDoS.

הערה

שירותים שאינם HTTP ‏(SSH, TCP, RDP) דורשים cloudflared בצד הלקוח. ראו את הפניה לפרוטוקולים לפרטים.

#Quick Tunnels (פיתוח)

Quick Tunnels חושפים שירות HTTP מקומי דרך כתובת trycloudflare.com זמנית. אפשר ליצור כתובת ציבורית או להגביל גישה לפי דוא"ל בלי חשבון Cloudflare.

כדי לשתף שירות מקומי, ראו Quick Tunnels.

#השלבים הבאים

  • ניתוב: הגדרת רשומות DNS, מאזני עומסים ותמיכה בפרוטוקולים.
  • הגדרה: פריסת עותקים, ניהול אסימונים וכיוון ביצועים.
  • מדריכים: פריסה ב-Kubernetes, ב-AWS, ב-GCP, ב-Terraform ועוד.
  • פתרון בעיות: פתרון שגיאות נפוצות ובעיות קישוריות.