谷歌云外壳:如何找到你的网页预览网址



在谷歌云平台控制台上使用谷歌云外壳时,单击;"网络预览";按钮会将您重定向到端口8080上为您的应用程序提供服务的URL。

因此,例如,您的实例的URL可能类似于:

https://8080-1234abcd-abcd-1234-abcd-1234abcd.europe-west1.cloudshell.dev/?authuser=0

有没有一种方法可以确定这个URL将来自终端,而不必点击";"网络预览";按钮

注意:对于那些想知道这是什么用例的人。我正在使用SSH云外壳访问功能,该功能允许您通过SSH从任何终端模拟器远程访问您的云外壳实例。不幸的是,这样做意味着您不再能够访问";"网络预览";按钮(因为你使用的是你自己的终端,而不是基于网络的终端(,因此无法知道你的网络预览的URL将位于哪里。

您可以使用云外壳中预先配置的环境变量WEB_HOST来确定终端的URL。

格式化的预览URL如下所示:
https://$PORT-$WEB_HOST

请参阅预览web应用程序文档

Cloud Shell是一个主要用于提供管理GCP资源的环境的工具,不用于开发环境(但可用于测试代码片段(

如本文档所述,从命令行(通过非web终端上的ssh(访问CloudShell是alpha版本。

这个功能可能非常有用,但目前不可能在GCP控制台(web UI(之外生成preview url,我的建议是打开一个功能请求,允许在web终端之外创建preview URL

若要创建功能请求,您必须在此页面上填写公共问题跟踪器。

作为一种变通方法,您可以使用ngrok的免费帐户在任何云或内部部署服务器上生成预览URL,这是一种允许您在任何端口(演示端点(上生成指向本地主机服务的临时HTTPs URL的软件,其方式与Cloud Shell web预览工作的方式相同。

生成url主机名的规则是不确定的,有时它的[port]-[guid]-[region].cloudshell…,而有时它有一个固定的名称[port]-[host]-,";主机";是yr云外壳vm 的主机名

有没有一种方法可以从终端,而不必点击";"网络预览";按钮

是的,这是可能的。

例如:

PORT="8080"
cd `mktemp -d` 
&& echo '<html><body>Hello World</body></html>' >./index.html 
&& python -m SimpleHTTPServer $PORT &
AUTHUSER="0"
ADDPATH=""
echo "https://shell.cloud.google.com/devshell/proxy?authuser=$AUTHUSER&port=$PORT&environment_id=default$ADDPATH"

点击链接后,代理端点将对GCP用户进行身份验证,并重定向到最终目的地(例如https://8080-cs-215311858653-default.cs-us-east1-vpcf.cloudshell.dev/?authuser=0)。

尽管可以使用以下命令生成最终的URL,但使用它不是一个好主意,因为只有在代理端点对用户进行身份验证后才能访问端口。

ZONE=$(curl -s -H "Metadata-Flavor: Google" metadata/computeMetadata/v1/instance/zone)
ZONE="${ZONE##*/}"
REGION=${ZONE%-*}
MACHINE=$(hostname)
MACHINE="${MACHINE%-default*}-default"
PORT="8080"
echo "https://${PORT}-${MACHINE}.cs-${REGION}-vpcf.cloudshell.dev/?authuser=0"

相关内容

  • 没有找到相关文章

最新更新