访问工作站上运行的 HTTP 服务器

默认情况下,您可以访问您设备上的 HTTP 端口 80,以及端口 102465535。 工作站。你可以限制哪些端口可以访问 设置 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.userworkstations.workstations.use 权限。

从 Google Cloud 控制台连接到 HTTP 应用

您可以从工作站连接到在工作站上运行的 HTTP 应用。 Google Cloud 控制台。

对于您有权使用的任何正在运行的工作站,您会看到 启动按钮。默认情况下,此按钮会在端口 80 上连接。您可以 点击展开程序arrow_drop_down 启动旁边的箭头可查看其他连接选项。借助通过连接到端口上的 Web 应用选项,您可以指定要连接到的其他端口。

从基准编辑器连接到 HTTP 应用

如需从基本编辑器连接到工作站上运行的应用,请按照以下任一说明操作:

  • 点击终端中的 localhost 链接。基本编辑器会自动 将 localhost 链接重定向到正确的网址。

    1. 如需打开一个终端窗口,请点击 menu 菜单 > 终端 > 新建终端。 或者,按 Control+Shift+`(在 macOS 上,按 Command+Shift+`)。

    2. 在命令提示符下,运行以下命令以显示 localhost 链接:

      echo http://localhost:PORT
      

      PORT 替换为端口号,例如 808080

    3. 按住 Ctrl 键(在 macOS 上,按住 Command 键),然后点击本地主机链接。
      这会打开 PORT-WORKSTATION-HOSTNAME

  • 使用浏览器窗口:导航至 https://PORT-WORKSTATION-HOSTNAME, 其中 PORT 是端口号, WORKSTATION-HOSTNAME 是您的工作站 主机名

限制工作站的端口访问权限

如需限制工作站上可访问的端口,请在工作站配置中设置 allowedPorts

如需限制单个端口,请将 PortRange firstlast 字段设置为相同的端口号。

默认情况下,系统允许使用端口 22801024-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 或自定义标头,因此会将其视为未通过身份验证,并 工作站服务。管理员可以选择允许未经身份验证的 CORS 预检请求通过工作站,在工作站中,工作站中的目标服务器负责验证请求。

如需允许未经身份验证的 CORS 预检请求,请运行以下命令 Google Cloud CLI 命令:

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