Acessar servidores HTTP em execução em uma estação de trabalho

Por padrão, é possível acessar as portas HTTP 80 e as portas 1024 a 65535 nas estações de trabalho pelo navegador. É possível restringir as portas que podem ser acessadas nas estações de trabalho definindo allowedPorts na configuração da estação de trabalho.

As estações de trabalho em execução têm uma propriedade host que pode ser usada para se conectar usando HTTP em um navegador remoto. Para encontrar a propriedade host, consulte os detalhes de uma estação de trabalho em execução pela API, pela Google Cloud CLI, pelo console do Google Cloud ou imprimindo a variável de ambiente $WEB_HOST, que é definida automaticamente na estação de trabalho. O URL se conecta na porta 80 por padrão.

Formato de URL padrão da estação de trabalho

O URL da propriedade host usa o seguinte formato por padrão:

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

Os marcadores de posição representam o seguinte:

  • PORT: o número da porta, que é 80 por padrão.
  • WORKSTATION_NAME: o nome da estação de trabalho.
  • CLUSTER_ID: o identificador do cluster gerado aleatoriamente
  • cloudworkstations.dev: o nome de domínio padrão de uma estação de trabalho.

    Os URLs de domínios personalizados usam um formato diferente. Para saber mais sobre como configurar domínios personalizados no Cloud Workstations, consulte Configurar domínios personalizados para o Cloud Workstations.

Conectar a uma porta diferente mudando o URL

Para se conectar em uma porta diferente, especifique um número de porta diferente como prefixo. Por exemplo, o URL a seguir se conecta à porta 9900:

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

Neste exemplo, observe o seguinte:

  • 9900: representa o número da porta.
  • myworkstation: representa o ID da estação de trabalho.
  • cluster-12345abcde: representa o identificador do cluster.
  • cloudworkstations.dev: representa o nome de domínio padrão de uma estação de trabalho.

Esses URLs exigem a autenticação do usuário. Para acessar esses URLs, é necessário fazer login e ter o papel do IAM de usuário do Cloud Workstations, roles/workstations.user, ou a permissão workstations.workstations.use.

Como se conectar a um app HTTP no console do Google Cloud

É possível se conectar a um app HTTP em execução em uma estação de trabalho no console do Google Cloud.

Para qualquer estação de trabalho em execução que você tenha permissão para usar, um botão Iniciar vai aparecer. Por padrão, esse botão se conecta à porta 80. Você pode clicar na seta de expansão arrow_drop_down ao lado de Iniciar para conferir opções de conexão alternativas. A opção Fazer conexão com o app da Web na porta permite especificar uma porta diferente para se conectar.

Como se conectar a um app HTTP no editor básico

Para se conectar a um app em execução na estação de trabalho pelo editor básico, siga uma destas instruções:

  • Clique nos links de localhost no terminal. O editor básico redireciona automaticamente os links de localhost para os URLs corretos.

    1. Para abrir uma janela de terminal, clique em menu Menu > Terminal > Novo terminal. Como alternativa, pressione Control + Shift +` (ou Command + Shift +` no macOS).

    2. No prompt de comando, execute o seguinte comando para mostrar o link de localhost:

      echo http://localhost:PORT
      

      Substitua PORT por um número de porta, como 80 ou 8080.

    3. Mantenha a tecla Control (ou Command no macOS) pressionada e clique no link do localhost.
      Isso abre PORT-WORKSTATION-HOSTNAME no navegador.

  • Use a janela do navegador: navegue até https://PORT-WORKSTATION-HOSTNAME, em que PORT é o número da porta e WORKSTATION-HOSTNAME é o nome do host da estação de trabalho.

Como restringir o acesso à porta de uma estação de trabalho

Para restringir as portas que podem ser acessadas em uma estação de trabalho, defina allowedPorts nas configurações da estação de trabalho.

Para restringir uma única porta, defina os campos PortRange first e last com o mesmo número de porta.

Por padrão, as portas 22, 80 e 1024-65535 são permitidas.

Para criar uma configuração de estação de trabalho com acesso restrito à porta 80 e 8080 a 8100, execute o seguinte comando da 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

Solicitações de pré-lançamento do CORS

Por padrão, o serviço de estações de trabalho garante que todas as solicitações para a estação de trabalho sejam autenticadas com um cookie ou cabeçalho de autenticação.

As solicitações de simulação do compartilhamento de recursos entre origens (CORS) não incluem cookies ou cabeçalhos personalizados e, portanto, são consideradas não autenticadas e bloqueadas pelo serviço de estações de trabalho. Os administradores podem permitir, opcionalmente, que as solicitações de simulação de CORS não autenticadas sejam enviadas para a estação de trabalho, onde a responsabilidade de validar a solicitação passa a ser do servidor de destino na estação de trabalho.

Para permitir solicitações de pré-vôo CORS não autenticadas, execute o seguinte comando da Google Cloud CLI:

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