根據預設,您可以從瀏覽器存取工作站上的 HTTP 通訊埠 80
和通訊埠 1024
至 65535
。您可以在工作站設定中設定 allowedPorts
,限制工作站可存取的通訊埠。
執行中的工作站具有 host
屬性,您可以使用這個屬性,透過遠端瀏覽器以 HTTP 連線。您可以透過 API、Google Cloud CLI、 Google Cloud 控制台取得執行中工作站的詳細資料,或列印 $WEB_HOST
環境變數 (工作站內會自動設定),找出 host
屬性。網址預設會連線至通訊埠 80
。
預設工作站網址格式
host
資源網址預設採用下列格式:
https://PORT-WORKSTATION_NAME.CLUSTER_ID.cloudworkstations.dev
預留位置代表下列項目:
PORT
:通訊埠號碼,預設為通訊埠80
。WORKSTATION_NAME
:工作站名稱。CLUSTER_ID
:隨機產生的叢集 IDcloudworkstations.dev
:工作站的預設網域名稱。自訂網域的網址格式不同。如要進一步瞭解如何在 Cloud Workstations 中設定自訂網域,請參閱「為 Cloud Workstations 設定自訂網域」。
變更網址,連線至其他通訊埠
如要連線至其他通訊埠,請指定不同的通訊埠編號做為前置字元。舉例來說,下列網址會連線至通訊埠 9900
:
https://9900-myworkstation.cluster-12345abcde.cloudworkstations.dev
在本例中,請注意下列事項:
9900
:代表通訊埠號碼。myworkstation
:代表工作站 ID。cluster-12345abcde
:代表叢集 ID。cloudworkstations.dev
:代表工作站的預設網域名稱。
這些網址需要使用者驗證。如要存取這些網址,您必須登入帳戶,並具備 Cloud Workstations User IAM 角色 roles/workstations.user
或 workstations.workstations.use
權限。
從 Google Cloud 控制台連線至 HTTP 應用程式
您可以從Google Cloud 控制台連線至工作站中執行的 HTTP 應用程式。
對於您有權使用的任何執行中工作站,系統都會顯示「啟動」按鈕。根據預設,這個按鈕會透過通訊埠 80
建立連線。按一下「啟動」旁的展開箭頭 arrow_drop_down,即可查看其他連線選項。「連線至位於通訊埠的網頁應用程式」選項可讓您指定要連線至哪個通訊埠。
從基礎編輯器連線至 HTTP 應用程式
如要從基本編輯器連線至工作站上執行的應用程式,請按照下列任一操作說明進行:
按一下終端機中的 localhost 連結。基礎編輯器會自動將 localhost 連結重新導向至正確的網址。
如要開啟終端機視窗,請依序點選「選單」 >「終端機」>「新增終端機」。 你也可以按下 Control+Shift+` 鍵 (在 macOS 上為 Command+Shift+` 鍵)。
在命令提示字元中執行下列指令,顯示 localhost 連結:
echo http://localhost:PORT
將
PORT
替換為通訊埠編號,例如80
或8080
。按住 Control 鍵 (或 macOS 的 Command 鍵),然後點按 localhost 連結。
瀏覽器會開啟這個頁面。PORT-WORKSTATION-HOSTNAME
使用瀏覽器視窗:前往
https://PORT-WORKSTATION-HOSTNAME
,其中PORT
是通訊埠號碼,而WORKSTATION-HOSTNAME
是工作站主機名稱。
限制工作站的連接埠存取權
如要限制工作站可存取的通訊埠,請在工作站設定中設定 allowedPorts
。
如要限制單一通訊埠,請將 PortRange
first
和 last
欄位設為相同的通訊埠編號。
預設允許的通訊埠為 22
、80
和 1024
-65535
。
如要建立工作站設定,限制對 80
和 8080
的通訊埠存取權,請執行下列 Google Cloud CLI 指令:8100
gcloud beta workstations configs create CONFIG \ --cluster=CLUSTER_ID \ --region=REGION \ --project=PROJECT \ --allowed-ports=first=80,last=80 \ --allowed-ports=first=8080,last=8100
CORS 預檢要求
根據預設,工作站服務會確保工作站的所有要求都經過 驗證,並附上 Cookie 或驗證標頭。
跨來源資源共用 (CORS) 預檢要求不包含 Cookie 或自訂標頭,因此會被視為未經驗證,並遭到工作站服務封鎖。管理員可以選擇允許未經驗證的 CORS 預檢要求通過工作站,此時工作站中的目的地伺服器有責任驗證要求。
如要允許未經驗證的 CORS 預檢要求,請執行下列 Google Cloud CLI 指令:
gcloud beta workstations configs update CONFIG \ --cluster=CLUSTER_ID \ --region=REGION \ --project=PROJECT \ --allow-unauthenticated-cors-preflight-requests
在 HTTP 回應中停用 localhost 替代項目
為確保開發中的應用程式能在工作站上正常執行,Cloud Workstations 會在工作站的 HTTP 回應中,將對 localhost、127.0.0.1 和 0.0.0.0 的參照,替換為工作站的主機名稱。
這可能會干擾某些應用程式。如要停用這項行為,請執行下列 Google Cloud CLI 指令:
gcloud beta workstations configs update CONFIG \ --cluster=CLUSTER_ID \ --region=REGION \ --project=PROJECT \ --disable-localhost-replacement