חיבור לשרתי HTTP שפועלים בתחנת עבודה

כברירת מחדל, אתם יכולים להתחבר מהדפדפן ליציאות HTTP‏ 80 וליציאות 1024 עד 65535 בתחנות העבודה. כדי להגביל את היציאות שאפשר להתחבר אליהן בתחנות העבודה, צריך להגדיר את allowedPorts בהגדרות של תחנת העבודה.

לסביבות עבודה פעילות יש מאפיין host שאפשר להשתמש בו כדי להתחבר באמצעות HTTP מדפדפן מרוחק. כדי למצוא את המאפיין host, אפשר לקבל פרטים על תחנת עבודה פעילה באמצעות ה-API, ‏Google Cloud CLI, מסוף Google Cloud או הדפסת משתנה הסביבה $WEB_HOST שמוגדר באופן אוטומטי בתחנת העבודה. כתובת ה-URL מתחברת ליציאה 80 כברירת מחדל.

פורמט ברירת המחדל של כתובת ה-URL של תחנת העבודה

כתובת ה-URL של הנכס host מבוססת על הפורמט הבא כברירת מחדל:

https://PORT-WORKSTATION_NAME.CLUSTER_ID.cloudworkstations.dev

הפלייסהולדרים מייצגים את הדברים הבאים:

  • ‫PORT: מספר היציאה, כשיציאת ברירת המחדל היא 80.
  • ‫WORKSTATION_NAME: שם תחנת העבודה.
  • ‫CLUSTER_ID: מזהה האשכול שנוצר באופן אקראי.
  • ‫cloudworkstations.dev: שם הדומיין שמוגדר כברירת מחדל לתחנת עבודה.

    כתובות URL של דומיינים מותאמים אישית משתמשות בפורמט אחר. במאמר הגדרת דומיינים בהתאמה אישית ב-Cloud Workstations מוסבר איך מגדירים דומיינים בהתאמה אישית ב-Cloud Workstations.

חיבור ליציאה אחרת על ידי שינוי כתובת ה-URL

כדי להתחבר ליציאה אחרת, צריך לציין מספר יציאה אחר כתחילית. לדוגמה, כתובת ה-URL הבאה מתחברת ליציאה 9900:

https://9900-myworkstation.cluster-12345abcde.cloudworkstations.dev

בדוגמה הזו, שימו לב לפרטים הבאים:

  • ‫9900: מייצג את מספר היציאה.
  • ‫myworkstation: מייצג את המזהה של תחנת העבודה.
  • ‫cluster-12345abcde: מייצג את מזהה האשכול.
  • ‫cloudworkstations.dev: מייצג את שם הדומיין שמוגדר כברירת מחדל לתחנת עבודה.

כתובות ה-URL האלה דורשות אימות משתמש. כדי לפתוח את כתובות ה-URL האלה, אתם צריכים להתחבר לחשבון עם תפקיד IAM של משתמש ב-Cloud Workstations‏ (roles/workstations.user) או עם ההרשאה workstations.workstations.use.

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

https://myworkstation.cluster-12345abcde.cloudworkstations.dev:9900

התחברות לאפליקציית HTTP ממסוף Google Cloud

אתם יכולים להתחבר לאפליקציית HTTP שפועלת בתחנת עבודה ממסוףGoogle Cloud .

בכל סביבת עבודה פעילה שיש לכם הרשאה להשתמש בה, מופיע הלחצן Launch. כברירת מחדל, הלחצן הזה מתחבר ליציאה 80. אפשר ללחוץ על החץ להרחבה arrow_drop_down לצד Launch כדי לראות אפשרויות חיבור חלופיות. האפשרות Connect to web app on port מאפשרת לציין יציאה אחרת להתחברות.

חיבור לאפליקציית HTTP מעורך הבסיס

כדי להתחבר לאפליקציה שפועלת בתחנת העבודה מעורך הבסיס של Cloud Workstations, פועלים לפי אחת מההוראות הבאות:

  • לוחצים על קישורי localhost בטרמינל. עורך הבסיס מפנה באופן אוטומטי קישורים של localhost לכתובות ה-URL הנכונות.

    1. כדי לפתוח את חלון הטרמינל, לוחצים על menu Menu > Terminal > New Terminal. אפשר גם ללחוץ על Control+Shift+`‎ (או על Command+Shift+`‎ ב-macOS).

    2. בשורת הפקודה, מריצים את הפקודה הבאה כדי להציג את הקישור ל-localhost:

      echo http://localhost:PORT
      

      מחליפים את PORT במספר יציאה, כמו 80 או 8080.

    3. לוחצים על Control (או על Command ב-macOS) ואז על הקישור localhost.
      הקישור ייפתח ב-PORT-WORKSTATION_HOSTNAME בדפדפן.

  • משתמשים בחלון הדפדפן: עוברים אל https://PORT-WORKSTATION_HOSTNAME, כאשר PORT הוא מספר היציאה ו-WORKSTATION_HOSTNAME הוא שם המארח של תחנת העבודה.

הגדרת יציאות לגישה ישירה

כברירת מחדל, כשמתחברים ליציאה של תחנת עבודה על ידי קידוד היציאה כתחילית בכתובת ה-URL, הבקשה מתחברת לשער האשכול דרך יציאת HTTPS‏ 443, והשער מעביר את הבקשה אל PORT בתחנת העבודה.

כדי להתחבר ישירות ליציאה של תחנת עבודה באמצעות הפורמט הסטנדרטי של כתובת ה-URL https://WORKSTATION_NAME.CLUSTER_ID.cloudworkstations.dev:PORT, צריך להגדיר את היציאה כיציאה לגישה ישירה באשכול תחנות העבודה.

כדי להגדיר יציאות לגישה ישירה באשכול קיים של תחנות עבודה, מריצים את הפקודה הבאה ב-Google Cloud CLI:

    gcloud beta workstations clusters update CLUSTER_ID \
        --region=REGION \
        --project=PROJECT \
        --direct-access-ports=80,8080

אפשר להגדיר רק את יציאה 80 ואת היציאות בטווח שבין 1024 ל-65535 כיציאות לגישה ישירה. בנוסף, אי אפשר לציין יותר מ-8 יציאות גישה ישירה לכל אשכול של תחנות עבודה.

הגבלת הגישה ליציאות של תחנת עבודה

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

כדי להגביל יציאה אחת, מגדירים את השדות PortRange first ו-last לאותו מספר יציאה.

כברירת מחדל, היציאות 22,‏ 80 ו-1024 עד 65535 מותרות.

כדי ליצור הגדרת תחנת עבודה עם גישה מוגבלת ליציאות 80 ו-8080 עד 8100, מריצים את הפקודה הבאה ב-Google Cloud CLI:

    gcloud workstations configs create CONFIG \
        --cluster=CLUSTER_ID \
        --region=REGION \
        --project=PROJECT \
        --allowed-ports=first=80,last=80 \
        --allowed-ports=first=8080,last=8100

בקשות קדם-הפעלה של CORS

כברירת מחדל, ב-Cloud Workstations כל בקשות ה-HTTP/HTTPS לסביבת העבודה מאומתות באמצעות קובץ Cookie או כותרת אימות.

בקשות קדם-הפעלה של שיתוף משאבים בין מקורות (CORS) לא כוללות קובצי Cookie או כותרות בהתאמה אישית, ולכן הן נחשבות כלא מאומתות ונחסמות על ידי Cloud Workstations. אדמינים יכולים לאפשר לבקשות קדם-הפעלה לא מאומתות של CORS לעבור לתחנת העבודה, שבה השרת המיועד בתחנת העבודה אחראי לאמת את הבקשה.

כדי לאפשר בקשות קדם-הפעלה של CORS ללא אימות, מריצים את הפקודה הבאה ב-Google Cloud CLI:

    gcloud beta workstations configs update CONFIG \
        --cluster=CLUSTER_ID \
        --region=REGION \
        --project=PROJECT \
        --allow-unauthenticated-cors-preflight-requests

השבתת ההחלפה של localhost בתגובות HTTP

כדי לאפשר לאפליקציות שנמצאות בפיתוח לפעול כמו שצריך בתחנת העבודה, Cloud Workstations מחליף את ההפניות ל-localhost, ל-127.0.0.1 ול-0.0.0.0 בשם המארח של תחנת העבודה בתגובות HTTP מתחנת העבודה.

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

    gcloud beta workstations configs update CONFIG \
        --cluster=CLUSTER_ID \
        --region=REGION \
        --project=PROJECT \
        --disable-localhost-replacement