默认情况下,您可以通过浏览器访问工作站上的 HTTP 端口 80
以及端口 1024
到 65535
。您可以在工作站配置中设置 allowedPorts
,以限制您可以在工作站上访问的端口。
正在运行的工作站具有 host
属性,您可以使用该属性通过远程浏览器使用 HTTP 进行连接。您可以通过以下方式找到 host
属性:通过 API、Google Cloud CLI 或 Google Cloud 控制台获取正在运行的工作站的详细信息,或者通过输出 $WEB_HOST
环境变量(工作站中会自动设置此变量)。默认情况下,该网址会连接到端口 80
。
默认工作站网址格式
host
媒体资源网址默认采用以下格式:
https://PORT-WORKSTATION_NAME.CLUSTER_ID.cloudworkstations.dev
占位符代表以下内容:
PORT
:端口号,默认为端口80
。WORKSTATION_NAME
:工作站名称。CLUSTER_ID
:随机生成的集群标识符cloudworkstations.dev
:工作站的默认域名。自定义网域的网址使用不同的格式。如需详细了解如何在 Cloud Workstations 中设置自定义网域,请参阅为 Cloud Workstations 设置自定义网域。
通过更改网址连接到其他端口
如需连接到其他端口,请指定其他端口号作为前缀。例如,以下网址会连接到端口 9900
:
https://9900-myworkstation.cluster-12345abcde.cloudworkstations.dev
在此示例中,请注意以下事项:
9900
:表示端口号。myworkstation
:表示工作站 ID。cluster-12345abcde
:表示集群标识符。cloudworkstations.dev
:表示工作站的默认域名。
这些网址需要用户进行身份验证。如需访问这些网址,您必须登录,并且必须拥有 Cloud Workstations 用户 IAM 角色 roles/workstations.user
或 workstations.workstations.use
权限。
从 Google Cloud 控制台连接到 HTTP 应用
您可以通过 Google Cloud 控制台连接到工作站上运行的 HTTP 应用。
对于您有权使用的任何正在运行的工作站,您都会看到一个启动按钮。默认情况下,此按钮会连接到端口 80
。您可以点击启动旁边的 arrow_drop_down 展开箭头,查看其他连接选项。借助通过连接到端口上的 Web 应用选项,您可以指定要连接到的其他端口。
从基准编辑器连接到 HTTP 应用
如需从基准编辑器连接到工作站上运行的应用,请按照以下任一说明操作:
点击终端中的 localhost 链接。基础编辑器会自动将 localhost 链接重定向到正确的网址。
如需打开终端窗口,请依次点击菜单 菜单 > 终端 > 新建终端。 或者,按 Control+Shift+`(在 macOS 上,按 Command+Shift+`)。
在命令提示符处,运行以下命令以显示 localhost 链接:
echo http://localhost:PORT
将
PORT
替换为端口号,例如80
或8080
。按住 Ctrl 键(在 macOS 上,按住 Command 键),然后点击本地主机链接。
这会在浏览器中打开PORT-WORKSTATION-HOSTNAME
。
使用浏览器窗口:前往
https://PORT-WORKSTATION-HOSTNAME
,其中PORT
是端口号,WORKSTATION-HOSTNAME
是您的工作站主机名。
限制工作站的端口访问权限
如需限制工作站上可访问的端口,请在工作站配置中设置 allowedPorts
。
如需限制单个端口,请将 PortRange
first
和 last
字段设置为相同的端口号。
默认情况下,允许使用端口 22
、80
和 1024
-65535
。
如需创建工作站配置,并将 80
的端口访问权限限制为 8080
,将 8100
的端口访问权限限制为 8080
,请运行以下 Google Cloud CLI 命令:
gcloud beta workstations configs create CONFIG \ --cluster=CLUSTER \ --region=REGION \ --project=PROJECT \ --allowed-ports=first=80,last=80 \ --allowed-ports=first=8080,last=8100
CORS 预检请求
默认情况下,工作站服务会确保使用 Cookie 或身份验证标头对工作站发出的所有请求都经过身份验证。
跨源资源共享 (CORS) 预检请求不包含 Cookie 或自定义标头,因此被视为未经身份验证,并会被 Workstations 服务屏蔽。管理员可以选择允许未经身份验证的 CORS 预检请求通过工作站,在工作站中,工作站中的目标服务器负责验证请求。
如需允许未经身份验证的 CORS 预检请求,请运行以下 Google Cloud CLI 命令:
gcloud beta workstations configs update CONFIG \ --cluster=CLUSTER \ --region=REGION \ --project=PROJECT \ --allow-unauthenticated-cors-preflight-requests