Verbindung zu HTTP-Servern herstellen, die auf einer Workstation ausgeführt werden

Standardmäßig können Sie über Ihren Browser eine Verbindung zu den HTTP-Ports 80 und 1024 bis 65535 auf Ihren Workstations herstellen. Sie können die Ports, zu denen Sie auf Ihren Workstations eine Verbindung herstellen können, einschränken, indem Sie festlegen allowedPorts in der Workstationkonfiguration.

Auf ausgeführten Workstations gibt es die Eigenschaft host, mit der Sie über einen Remote-Browser eine Verbindung über HTTP herstellen können. Sie können die host Eigenschaft abrufen, indem Sie Details für eine ausgeführte Workstation über die API, die Google Cloud CLI, die Google Cloud Console abrufen oder die $WEB_HOST Umgebungsvariable ausgeben, die automatisch in Ihrer Workstation festgelegt wird. Die URL stellt standardmäßig eine Verbindung über Port 80 her.

Standardformat für Workstation-URLs

Die URL der Eigenschaft host hat standardmäßig das folgende Format:

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

Die Platzhalter stehen für Folgendes:

  • PORT: die Portnummer, die standardmäßig Port 80 ist.
  • WORKSTATION_NAME: der Name der Workstation.
  • CLUSTER_ID: die zufällig generierte Cluster-ID.
  • cloudworkstations.dev: der Standarddomainname für eine Workstation.

    URLs für benutzerdefinierte Domains haben ein anderes Format. Weitere Informationen zum Einrichten benutzerdefinierter Domains in Cloud Workstations finden Sie unter Benutzerdefinierte Domains für Cloud Workstations einrichten.

Verbindung zu einem anderen Port herstellen, indem Sie die URL ändern

Wenn Sie eine Verbindung über einen anderen Port herstellen möchten, geben Sie eine andere Portnummer als Präfix an. Die folgende URL stellt beispielsweise eine Verbindung zu Port 9900 her:

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

Beachten Sie in diesem Beispiel Folgendes:

  • 9900: steht für die Portnummer.
  • myworkstation: steht für die Workstation-ID.
  • cluster-12345abcde: steht für die Cluster-ID.
  • cloudworkstations.dev: steht für den Standarddomainnamen für eine Workstation.

Für diese URLs ist eine Nutzerauthentifizierung erforderlich. Um diese URLs zu öffnen, müssen Sie angemeldet sein und die Cloud IAM-Rolle „Cloud Workstations-Nutzer“ (roles/workstations.user) oder die Berechtigung workstations.workstations.use haben.

Über die Google Cloud Console eine Verbindung zu einer HTTP-App herstellen

Sie können über die Google Cloud Console eine Verbindung zu einer HTTP-App herstellen, die auf einer Workstation ausgeführt wird.

Für jede ausgeführte Workstation, für die Sie Berechtigungen haben, wird die Schaltfläche Starten angezeigt. Standardmäßig stellt diese Schaltfläche eine Verbindung über Port 80 her. Sie können auf den arrow_drop_downPfeil zum Einblenden neben Starten klicken, um alternative Verbindungsoptionen aufzurufen. Mit der Option Verbindung zur Webanwendung über Port herstellen können Sie einen anderen Port angeben, zu dem eine Verbindung hergestellt werden soll.

Über den Basis-Editor eine Verbindung zu einer HTTP-App herstellen

Wenn Sie über den Basis-Editor von Cloud Workstations eine Verbindung zu einer App herstellen möchten, die auf Ihrer Workstation ausgeführt wird, folgen Sie einer der folgenden Anleitungen:

  • Klicken Sie im Terminal auf Links zu „localhost“. Der Basis-Editor leitet Links zu „localhost“ automatisch zu den richtigen URLs weiter.

    1. Klicken Sie zum Öffnen eines Terminalfensters auf das Menü Menü > Terminal > Neues Terminal. Alternativ können Sie Strg+Umschalt+` (oder Befehlstaste+Umschalt+` unter macOS) drücken.

    2. Führen Sie an der Eingabeaufforderung den folgenden Befehl aus, um den Link zu „localhost“ anzuzeigen:

      echo http://localhost:PORT
      

      Ersetzen Sie PORT durch eine Portnummer wie 80 oder 8080.

    3. Halten Sie Strg (oder Befehlstaste unter macOS) gedrückt und klicken Sie dann auf den Link zu „localhost“.
      Dadurch wird PORT-WORKSTATION-HOSTNAME in Ihrem Browser geöffnet.

  • Verwenden Sie das Browserfenster: Rufen Sie https://PORT-WORKSTATION-HOSTNAME, auf. Dabei ist PORT die Portnummer und WORKSTATION-HOSTNAME der Hostname Ihrer Workstation.

Portzugriff für eine Workstation einschränken

Wenn Sie die Ports einschränken möchten, zu denen eine Verbindung auf einer Workstation hergestellt werden kann, legen Sie allowedPorts in den Workstationkonfigurationen fest.

Wenn Sie einen einzelnen Port einschränken möchten, legen Sie für die PortRange first und last Felder dieselbe Portnummer fest.

Standardmäßig sind die Ports 22, 80 und 1024 bis 65535 zulässig.

Führen Sie den folgenden Google Cloud CLI-Befehl aus, um eine Workstationkonfiguration mit eingeschränktem Portzugriff auf 80 und 8080 bis 8100 zu erstellen:

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

CORS-Preflight-Anfragen

Standardmäßig sorgt Cloud Workstations dafür, dass alle HTTP/HTTPS-Anfragen an die Workstation mit einem Cookie oder einem Authentifizierungsheader authentifiziert werden.

CORS-Preflight-Anfragen (Cross-Origin Resource Sharing) enthalten keine Cookies oder benutzerdefinierten Header und werden daher von Cloud Workstations als nicht authentifiziert betrachtet und blockiert. Administratoren können optional zulassen, dass nicht authentifizierte CORS-Preflight-Anfragen an die Workstation weitergeleitet werden. Dort ist es dann Aufgabe des Zielservers auf der Workstation, die Anfrage zu validieren.

Führen Sie den folgenden Google Cloud CLI-Befehl aus, um nicht authentifizierte CORS-Preflight-Anfragen zuzulassen:

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

Ersetzen von „localhost“ in HTTP-Antworten deaktivieren

Damit sich Apps in der Entwicklung ordnungsgemäß auf der Workstation ausführen lassen, ersetzt Cloud Workstations in HTTP-Antworten von der Workstation Verweise auf „localhost“, „127.0.0.1“ und „0.0.0.0“ durch den Hostnamen der Workstation.

Dies kann einige Anwendungen beeinträchtigen. Führen Sie den folgenden Google Cloud CLI-Befehl aus, um dieses Verhalten zu deaktivieren:

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