Accéder aux serveurs HTTP exécutés sur une station de travail

Par défaut, vous pouvez accéder aux ports HTTP 80 et 1024 à 65535 sur vos stations de travail depuis votre navigateur. Vous pouvez limiter les ports auxquels vous pouvez accéder sur vos postes de travail en définissant allowedPorts dans la configuration du poste de travail.

Les stations de travail en cours d'exécution disposent d'une propriété host que vous pouvez utiliser pour vous connecter via HTTP à partir d'un navigateur distant. Pour trouver la propriété host, obtenez les détails d'une station de travail en cours d'exécution via l'API, Google Cloud CLI, la console Google Cloud ou en imprimant la variable d'environnement $WEB_HOST, qui est automatiquement définie dans votre station de travail. Par défaut, l'URL se connecte sur le port 80.

Format d'URL de la station de travail par défaut

L'URL de la propriété host utilise le format suivant par défaut:

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

Les espaces réservés représentent les éléments suivants:

  • PORT: numéro de port, qui est le port 80 par défaut.
  • WORKSTATION_NAME: nom de la station de travail.
  • CLUSTER_ID: identifiant de cluster généré de manière aléatoire
  • cloudworkstations.dev: nom de domaine par défaut d'une station de travail.

    Les URL des domaines personnalisés utilisent un autre format. Pour en savoir plus sur la configuration de domaines personnalisés dans Cloud Workstations, consultez la section Configurer des domaines personnalisés pour Cloud Workstations.

Se connecter à un autre port en modifiant l'URL

Pour vous connecter à un autre port, spécifiez un autre numéro de port en tant que préfixe. Par exemple, l'URL suivante se connecte au port 9900:

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

Dans cet exemple, notez les points suivants :

  • 9900: représente le numéro de port.
  • myworkstation: représente l'ID de la station de travail.
  • cluster-12345abcde: représente l'identifiant du cluster.
  • cloudworkstations.dev: représente le nom de domaine par défaut d'une station de travail.

Ces URL nécessitent l'authentification de l'utilisateur. Pour accéder à ces URL, vous devez être connecté et disposer du rôle IAM utilisateur Cloud Workstations, roles/workstations.user, ou de l'autorisation workstations.workstations.use.

Se connecter à une application HTTP depuis la console Google Cloud

Vous pouvez vous connecter à une application HTTP exécutée sur une station de travail à partir de la console Google Cloud.

Pour chaque station de travail en cours d'exécution pour laquelle vous disposez des autorisations nécessaires, un bouton Lancer s'affiche. Par défaut, ce bouton se connecte sur le port 80. Vous pouvez cliquer sur la flèche d'expansion arrow_drop_down à côté de Lancer pour afficher d'autres options de connexion. L'option Se connecter à l'application Web sur le port vous permet de spécifier un autre port auquel vous connecter.

Se connecter à une application HTTP depuis l'éditeur de base

Pour vous connecter à une application exécutée sur votre poste de travail à partir de l'éditeur de base, suivez l'une des instructions suivantes:

  • Cliquez sur les liens localhost dans le terminal. L'éditeur de base redirige automatiquement les liens localhost vers les URL appropriées.

    1. Pour ouvrir une fenêtre de terminal, cliquez sur menu Menu > Terminal > Nouveau terminal. Vous pouvez également appuyer sur Ctrl+Maj+` (ou Cmd+Maj+` sous macOS).

    2. Dans l'invite de commande, exécutez la commande suivante pour afficher le lien localhost:

      echo http://localhost:PORT
      

      Remplacez PORT par un numéro de port tel que 80 ou 8080.

    3. Maintenez la touche Ctrl (ou Commande sous macOS) enfoncée, puis cliquez sur le lien localhost.
      PORT-WORKSTATION-HOSTNAME s'ouvre dans votre navigateur.

  • Utilisez la fenêtre du navigateur: accédez à https://PORT-WORKSTATION-HOSTNAME, où PORT est le numéro de port et WORKSTATION-HOSTNAME est le nom d'hôte de votre poste de travail.

Limiter l'accès aux ports d'une station de travail

Pour limiter les ports auxquels vous pouvez accéder sur une station de travail, définissez allowedPorts dans les configurations de la station de travail.

Pour limiter un seul port, définissez les champs first et last de PortRange sur le même numéro de port.

Par défaut, les ports 22, 80 et 1024-65535 sont autorisés.

Pour créer une configuration de poste de travail avec un accès limité aux ports 80 et 8080 à 8100, exécutez la commande Google Cloud CLI suivante:

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

Requêtes préliminaires CORS

Par défaut, le service de stations de travail s'assure que toutes les requêtes envoyées à la station de travail sont authentifiées à l'aide d'un cookie ou d'un en-tête d'authentification.

Les requêtes préalables CORS (Cross-Origin Resource Sharing) n'incluent pas de cookies ni d'en-têtes personnalisés. Elles sont donc considérées comme non authentifiées et bloquées par le service de stations de travail. Les administrateurs peuvent éventuellement autoriser les requêtes préliminaires CORS non authentifiées à passer à la station de travail, où il devient de la responsabilité du serveur de destination de la station de travail de valider la requête.

Pour autoriser les requêtes préliminaires CORS non authentifiées, exécutez la commande Google Cloud CLI suivante:

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