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 den Ports 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 in der Workstation-Konfiguration allowedPorts festlegen.

Ausgeführte Workstations haben das Attribut host, mit dem Sie über HTTP eine Verbindung von einem Remote-Browser herstellen können. Sie finden das Attribut host, indem Sie Details zu einer laufenden Workstation über die API, die Google Cloud CLI, die Google Cloud Console oder durch Ausgabe der Umgebungsvariable $WEB_HOST abrufen, die automatisch in Ihrer Workstation festgelegt wird. Die URL stellt standardmäßig eine Verbindung über Port 80 her.

Standard-URL-Format für Workstations

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

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

Die Platzhalter stehen für Folgendes:

  • PORT: die Portnummer, standardmäßig Port 80.
  • WORKSTATION_NAME: der Name der Workstation.
  • CLUSTER_ID: die zufällig generierte Cluster-ID.
  • cloudworkstations.dev: der Standard-Domainname 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.

Durch Ändern der URL eine Verbindung zu einem anderen Port herstellen

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 Standard-Domainnamen einer Workstation.

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

Wenn Ihr Workstation-Cluster mit Ports für den direkten Zugriff konfiguriert ist, können Sie eine Verbindung zu einem konfigurierten Port herstellen, indem Sie :PORT an den Workstation-Hostnamen anhängen, anstatt den Port als Präfix zu codieren. Wenn Sie beispielsweise Port 9900 als Port für den direkten Zugriff konfigurieren, wird über die folgende URL auch eine Verbindung zu Port 9900 hergestellt:

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

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

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

Für jede laufende Workstation, für die Sie die Berechtigung zur Verwendung haben, wird die Schaltfläche Starten angezeigt. Standardmäßig wird über diese Schaltfläche eine Verbindung über Port 80 hergestellt. Sie können auf den Erweiterungspfeil arrow_drop_down neben Starten klicken, um alternative Verbindungsoptionen aufzurufen. Mit der Option Verbindung zur Webanwendung über Port herstellen können Sie einen anderen Port für die Verbindung angeben.

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

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

  • Klicken Sie im Terminal auf die Localhost-Links. Der Basis-Editor leitet Localhost-Links automatisch an die richtigen URLs weiter.

    1. Klicken Sie auf Menü Menü > Terminal > Neues Terminal, um ein Terminalfenster zu öffnen. Alternativ können Sie Strg + Umschalttaste +` (oder Befehlstaste + Umschalttaste +` unter macOS) drücken.

    2. Führen Sie in der Eingabeaufforderung den folgenden Befehl aus, um den Localhost-Link aufzurufen:

      echo http://localhost:PORT
      

      Ersetzen Sie PORT durch eine Portnummer wie 80 oder 8080.

    3. Halten Sie die Strg-Taste (oder die Befehlstaste unter macOS) gedrückt und klicken Sie dann auf den Localhost-Link.
      Dadurch wird PORT-WORKSTATION_HOSTNAME in Ihrem Browser geöffnet.

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

Ports für den direkten Zugriff konfigurieren

Wenn Sie eine Verbindung zu einem Workstation-Port herstellen, indem Sie den Port als Präfix in der URL codieren, wird Ihre Anfrage standardmäßig über den HTTPS-Port 443 mit dem Cluster-Gateway verbunden. Das Gateway leitet die Anfrage dann an PORT auf Ihrer Workstation weiter.

Wenn Sie eine direkte Verbindung zu einem Workstation-Port im Standard-URL-Format https://WORKSTATION_NAME.CLUSTER_ID.cloudworkstations.dev:PORT herstellen möchten, müssen Sie den Port als Direktzugriffsport im Workstation-Cluster konfigurieren.

Führen Sie den folgenden Google Cloud CLI-Befehl aus, um Ports für den direkten Zugriff auf einem vorhandenen Workstation-Cluster festzulegen:

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

Sie können nur Port 80 und Ports im Bereich von 1024 bis 65535 als Ports für den direkten Zugriff konfigurieren. Außerdem können Sie nicht mehr als acht Ports für den direkten Zugriff pro Workstation-Cluster angeben.

Portzugriff für eine Workstation einschränken

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

Wenn Sie einen einzelnen Port einschränken möchten, legen Sie für die Felder PortRange, first und last 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 Workstation-Konfiguration mit eingeschränktem Portzugriff auf 80 und 8080 auf 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 mithilfe eines Cookies oder Authentifizierungsheaders authentifiziert werden.

Preflight-Anfragen für Cross-Origin Resource Sharing (CORS) enthalten keine Cookies oder benutzerdefinierten Header und werden daher von Cloud Workstations als nicht authentifiziert eingestuft und blockiert. Administratoren können optional nicht authentifizierte CORS-Preflight-Anfragen an die Workstation zulassen. Dort ist dann der Zielserver in der Workstation für die Validierung der Anfrage verantwortlich.

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

Localhost-Ersetzung in HTTP-Antworten deaktivieren

Damit Apps, die sich in der Entwicklung befinden, auf der Workstation ordnungsgemäß ausgeführt werden können, 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 zu Problemen mit einigen Anwendungen führen. 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