Se connecter à des serveurs HTTP exécutés sur une station de travail

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

Les stations de travail en cours d'exécution disposent d'une propriété host que vous pouvez utiliser pour vous connecter à l'aide de HTTP depuis un navigateur distant. Vous pouvez trouver la propriété host en obtenant des informations sur une station de travail en cours d'exécution via l'API, Google Cloud CLI, la Google Cloud console ou en imprimant la variable d'environnement $WEB_HOST, qui est automatiquement définie dans votre station de travail. L'URL se connecte au port 80 par défaut.

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

Par défaut, l'URL de la propriété host utilise le format suivant :

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 format différent. Pour en savoir plus sur la configuration de domaines personnalisés dans Cloud Workstations, consultez 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 comme 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 ouvrir 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 Google Cloud console

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

Pour toute station de travail en cours d'exécution que vous êtes autorisé à utiliser, un bouton Lancer s'affiche. Par défaut, ce bouton se connecte au port 80. Vous pouvez cliquer sur la flèche arrow_drop_downexpand en regard 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 station de travail depuis l'éditeur de base Cloud Workstations, suivez l'une de ces instructions :

  • 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 Control+Shift+` (ou Command+Shift+` sous macOS).

    2. À 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 Control (ou Command sous macOS) enfoncée, puis cliquez sur le lien localhost.
      s'ouvre PORT-WORKSTATION-HOSTNAME 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 station de travail.

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

Pour limiter les ports auxquels une station de travail peut se connecter, définissez allowedPorts dans les configurations de la station de travail.

Pour limiter un seul port, définissez les PortRange first et last champs 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 station de travail avec un accès limité aux ports 80 et 8080 à 8100, exécutez la commande Google Cloud CLI suivante :

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

Requêtes CORS préliminaires

Par défaut, Cloud Workstations s'assure que toutes les requêtes HTTP/HTTPS adressé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éliminaires 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 Cloud Workstations. Les administrateurs peuvent éventuellement autoriser les requêtes CORS préliminaires non authentifiées à accéder à la station de travail, où il incombe au serveur de destination de la station de travail de valider la requête.

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

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

Désactiver le remplacement de localhost dans les réponses HTTP

Pour que les applications en cours de développement s'exécutent correctement sur la station de travail, Cloud Workstations remplace les références à localhost, 127.0.0.1 et 0.0.0.0 par le nom d'hôte de la station de travail dans les réponses HTTP de la station de travail.

Cela peut interférer avec certaines applications. Pour désactiver ce comportement, exécutez la commande Google Cloud CLI suivante :

    gcloud beta workstations configs update CONFIG \
        --cluster=CLUSTER_ID \
        --region=REGION \
        --project=PROJECT \
        --disable-localhost-replacement