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

תיעוד 230

תצוגה מקדימה של פרויקטים מקומיים עם Cloudflare Tunnel

Cloudflare Tunnel מריץ דמון קל (cloudflared) בתשתית שלכם, שמקים חיבורים יוצאים בין שרת המקור שלכם לרשת הגלובלית של Cloudflare. אפשר להשתמש ב-Quick Tunnel כדי לתת גישה זמנית לשירותים שרצים במחשב המקומי.

Cloudflare Pages מספק כתובות URL ייחודיות לתצוגה מקדימה של פריסה לענפים חדשים ולקומיטים. כדי לשתף אפליקציה שרצה מקומית בזמן פיתוח, התקינו את cloudflared והפעילו Quick Tunnel. אין צורך בחשבון Cloudflare.

#התקנת Cloudflare Tunnel

אפשר להתקין את Cloudflare Tunnel ב-Windows, ב-Linux וב-macOS. כדי ללמוד על התקנת Cloudflare Tunnel, עיינו בדף Install cloudflared בתיעוד של Cloudflare for Teams.

אשרו ש-cloudflared מותקן כראוי על ידי הרצת cloudflared --version בשורת הפקודה:

cloudflared --version
cloudflared version 2021.5.9 (built 2021-05-21-1541 UTC)

#הרצת שירות מקומי

הדרך הקלה ביותר להתחיל לעבוד עם Cloudflare Tunnel היא להריץ אפליקציה מקומית, למשל אתר React או SvelteKit. כשמפתחים אפליקציה עם המסגרות האלה, הן משתמשות לעתים קרובות בסקריפט npm run develop, או במשהו דומה, שמרכיב את האפליקציה ומריץ אותה על פורט localhost. לדוגמה, הכלי הפופולרי vite מריץ את אפליקציית ה-React שבפיתוח על פורט 5173, כך שהיא נגישה בכתובת http://localhost:5173.

#הפעלת Cloudflare Tunnel

כששרת פיתוח מקומי רץ, אפשר ליצור Cloudflare Tunnel חדש על ידי הרצת cloudflared tunnel בחלון שורת פקודה חדש, והעברת הדגל --url עם כתובת ה-localhost והפורט. cloudflared יכתוב יומנים לשורת הפקודה, כולל באנר עם כתובת URL של המנהרה:

cloudflared tunnel --url http://localhost:5173
2021-07-15T20:11:29Z INF Cannot determine default configuration path. No file [config.yml config.yaml] in [~/.cloudflared ~/.cloudflare-warp ~/cloudflare-warp /etc/cloudflared /usr/local/etc/cloudflared]
2021-07-15T20:11:29Z INF Version 2021.5.9
2021-07-15T20:11:29Z INF GOOS: linux, GOVersion: devel +11087322f8 Fri Nov 13 03:04:52 2020 +0100, GoArch: amd64
2021-07-15T20:11:29Z INF Settings: map[url:http://localhost:5173]
2021-07-15T20:11:29Z INF cloudflared will not automatically update when run from the shell. To enable auto-updates, run cloudflared as a service: https://developers.cloudflare.com/argo-tunnel/reference/service/
2021-07-15T20:11:29Z INF Initial protocol h2mux
2021-07-15T20:11:29Z INF Starting metrics server on 127.0.0.1:42527/metrics
2021-07-15T20:11:29Z WRN Your version 2021.5.9 is outdated. We recommend upgrading it to 2021.7.0
2021-07-15T20:11:29Z INF Connection established connIndex=0 location=ATL
2021-07-15T20:11:32Z INF Each HA connection's tunnel IDs: map[0:cx0nsiqs81fhrfb82pcq075kgs6cybr86v9vdv8vbcgu91y2nthg]
2021-07-15T20:11:32Z INF +-------------------------------------------------------------+
2021-07-15T20:11:32Z INF |  Your free tunnel has started! Visit it:                    |
2021-07-15T20:11:32Z INF |    https://seasonal-deck-organisms-sf.trycloudflare.com     |
2021-07-15T20:11:32Z INF +-------------------------------------------------------------+

בדוגמה הזו, כתובת ה-URL שנוצרה באקראי https://seasonal-deck-organisms-sf.trycloudflare.com נוצרה ושויכה למופע המנהרה. ביקור בכתובת הזו בדפדפן יציג את האפליקציה שרצה, כשהבקשות מועברות בצורה מאובטחת דרך הרשת הגלובלית של Cloudflare, דרך המנהרה שרצה במחשב, אל localhost:5173:

דוגמה של Cloudflare Tunnel שמציגה כתובת URL שנוצרה באקראי

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

אפשר להגדיר את Cloudflare Tunnel במגוון דרכים, ואפשר להשתמש בו גם מעבר למתן גישה לאפליקציות שבפיתוח. לדוגמה, אפשר לספק ל-cloudflared קובץ הגדרות כדי להוסיף ניתוב והגדרות מנהרה מורכבים יותר, שחורגים מדגל --url פשוט. אפשר גם לשייך רשומת DNS של Cloudflare לדומיין או לתת-דומיין, למנהרה נגישה בקלות וארוכת טווח למחשב המקומי.

לבסוף, באמצעות שילוב של Cloudflare Access, אפשר לספק גישה מאובטחת למנהרות בלי לחשוף את השרת כולו, ובלי להתפשר על האבטחה. עיינו בתיעוד של Cloudflare for Teams כדי ללמוד עוד על מה שאפשר לעשות עם כל חבילת כלי Zero Trust של Cloudflare.