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 Port80ist.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.
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.
Führen Sie an der Eingabeaufforderung den folgenden Befehl aus, um den Link zu „localhost“ anzuzeigen:
echo http://localhost:PORTErsetzen Sie
PORTdurch eine Portnummer wie80oder8080.Halten Sie Strg (oder Befehlstaste unter macOS) gedrückt und klicken Sie dann auf den Link zu „localhost“.
Dadurch wirdPORT-WORKSTATION-HOSTNAMEin Ihrem Browser geöffnet.
Verwenden Sie das Browserfenster: Rufen Sie
https://PORT-WORKSTATION-HOSTNAME, auf. Dabei istPORTdie Portnummer undWORKSTATION-HOSTNAMEder 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