Connettersi a server HTTP in esecuzione su una workstation

Per impostazione predefinita, puoi connetterti alle porte HTTP 80 e alle porte da 1024 a 65535 sulle tue workstation dal browser. Puoi limitare le porte a cui puoi connetterti sulle tue workstation impostando allowedPorts nella configurazione della workstation.

Le workstation in esecuzione hanno una proprietà host che puoi utilizzare per connetterti tramite HTTP da un browser remoto. Puoi trovare la proprietà host recuperando i dettagli di una workstation in esecuzione tramite l'API, Google Cloud CLI, la console Google Cloud o stampando la variabile di ambiente $WEB_HOST, che viene impostata automaticamente all'interno della workstation. Per impostazione predefinita, l'URL si connette alla porta 80.

Formato URL della workstation predefinita

Per impostazione predefinita, l'URL della proprietà host utilizza il seguente formato:

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

I segnaposto rappresentano quanto segue:

  • PORT: il numero di porta, che per impostazione predefinita è 80.
  • WORKSTATION_NAME: il nome della workstation.
  • CLUSTER_ID: l'identificatore del cluster generato in modo casuale.
  • cloudworkstations.dev: il nome di dominio predefinito di una workstation.

    Gli URL dei domini personalizzati utilizzano un formato diverso. Per saperne di più sulla configurazione di domini personalizzati in Cloud Workstations, consulta Configura domini personalizzati per Cloud Workstations.

Connettiti a una porta diversa modificando l'URL

Per connetterti su una porta diversa, specifica un numero di porta diverso come prefisso. Ad esempio, il seguente URL si connette alla porta 9900:

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

In questo esempio, tieni presente quanto segue:

  • 9900: rappresenta il numero di porta.
  • myworkstation: rappresenta l'ID della workstation.
  • cluster-12345abcde: rappresenta l'identificatore del cluster.
  • cloudworkstations.dev: rappresenta il nome di dominio predefinito di una workstation.

Questi URL richiedono l'autenticazione dell'utente. Per aprire questi URL, devi aver eseguito l'accesso e avere il ruolo IAM Cloud Workstations User, roles/workstations.user o l'autorizzazione workstations.workstations.use.

Se il cluster di workstation è configurato con porte di accesso diretto, anziché codificare la porta come prefisso, puoi connetterti a una porta configurata aggiungendo :PORT al nome host della workstation. Ad esempio, dopo aver configurato la porta 9900 come porta di accesso diretto, anche il seguente URL si connette alla porta 9900:

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

Connettiti a un'app HTTP dalla console Google Cloud

Puoi connetterti a un'app HTTP in esecuzione su una workstation dalla consoleGoogle Cloud .

Per ogni workstation in esecuzione che hai l'autorizzazione di utilizzare, viene visualizzato un pulsante Avvia. Per impostazione predefinita, questo pulsante si connette alla porta 80. Puoi fare clic sulla freccia di espansione arrow_drop_down accanto ad Avvia per visualizzare opzioni di connessione alternative. L'opzione Connetti all'app web sulla porta ti consente di specificare una porta diversa a cui connetterti.

Connettiti a un'app HTTP dall'editor di base

Per connetterti a un'app in esecuzione sulla tua workstation dall'editor di base di Cloud Workstations, segui una di queste istruzioni:

  • Fai clic sui link localhost nel terminale. L'editor di base reindirizza automaticamente i link localhost agli URL corretti.

    1. Per aprire una finestra del terminale, fai clic su menu Menu > Terminale > Nuovo terminale. In alternativa, premi Ctrl+Shift+` (o Comando+Shift+` su macOS).

    2. Al prompt dei comandi, esegui questo comando per visualizzare il link localhost:

      echo http://localhost:PORT
      

      Sostituisci PORT con un numero di porta, ad esempio 80 o 8080.

    3. Tieni premuto Ctrl (o Comando su macOS) e poi fai clic sul link localhost.
      Si apre PORT-WORKSTATION_HOSTNAME nel browser.

  • Utilizza la finestra del browser: vai a https://PORT-WORKSTATION_HOSTNAME, dove PORT è il numero di porta e WORKSTATION_HOSTNAME è il nome host della tua workstation.

Configura le porte di accesso diretto

Per impostazione predefinita, quando ti connetti a una porta della workstation codificando la porta come prefisso nell'URL, la richiesta si connette al gateway del cluster tramite la porta HTTPS 443 e il gateway inoltra la richiesta a PORT sulla tua workstation.

Per connetterti direttamente a una porta della workstation utilizzando il formato URL https://WORKSTATION_NAME.CLUSTER_ID.cloudworkstations.dev:PORT standard, devi configurare la porta come porta di accesso diretto nel cluster di workstation.

Per impostare le porte di accesso diretto su un cluster di workstation esistente, esegui questo comando di Google Cloud CLI:

    gcloud beta workstations clusters update CLUSTER_ID \
        --region=REGION \
        --project=PROJECT \
        --direct-access-ports=80,8080

Puoi configurare solo la porta 80 e le porte nell'intervallo da 1024 a 65535 come porte di accesso diretto. Inoltre, non puoi specificare più di otto porte di accesso diretto per cluster di workstation.

Limita l'accesso alle porte per una workstation

Per limitare le porte a cui è possibile connettersi su una workstation, imposta allowedPorts nelle configurazioni della workstation.

Per limitare una singola porta, imposta i campi PortRange first e last sullo stesso numero di porta.

Per impostazione predefinita, sono consentite le porte 22, 80 e da 1024 a 65535.

Per creare una configurazione della workstation con accesso limitato alle porte 80 e 8080-8100, esegui questo comando di Google Cloud CLI:

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

Richieste preflight CORS

Per impostazione predefinita, Cloud Workstations si assicura che tutte le richieste HTTP/HTTPS alla workstation siano autenticate utilizzando un cookie o un'intestazione di autenticazione.

Le richieste preflight di condivisione delle risorse multiorigine (CORS) non includono cookie o intestazioni personalizzate, pertanto sono considerate non autenticate e bloccate da Cloud Workstations. Gli amministratori possono facoltativamente consentire le richieste preflight CORS non autenticate alla workstation, dove diventa responsabilità del server di destinazione nella workstation convalidare la richiesta.

Per consentire richieste preflight CORS non autenticate, esegui questo comando di Google Cloud CLI:

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

Disattiva la sostituzione di localhost nelle risposte HTTP

Per consentire alle app in fase di sviluppo di funzionare correttamente sulla workstation, Cloud Workstations sostituisce i riferimenti a localhost, 127.0.0.1 e 0.0.0.0 con il nome host della workstation nelle risposte HTTP della workstation.

Ciò potrebbe interferire con alcune applicazioni. Per disattivare questo comportamento, esegui il seguente comando di Google Cloud CLI:

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