【问题标题】:Accessing localhost of GCP instance from local machine从本地机器访问 GCP 实例的 localhost
【发布时间】:2020-07-26 09:53:42
【问题描述】:

我正在尝试在 GCP 实例上运行我的烧瓶应用程序。但是,该应用程序会在该实例的本地主机上发布。我想访问该实例 localhost。

我看过一些视频和文章,但几乎都是关于在 GCP 上部署应用程序的。是否没有简单的方法可以将在 VM 实例的 localhost 上发布的任何内容转发到我的 PC 浏览器,如果我在应用程序中提交一些信息,那么它会转到 VM 实例并通过 VM 实例 localhost 将结果返回给我的本地机器的浏览器。

【问题讨论】:

  • Neo Andersons 的回答很好。但是,你明白localhost 是什么意思吗?您可以将您的应用程序配置为侦听连接而不需要转发。 en.wikipedia.org/wiki/Localhost
  • @JohnHanley 你是说在我的烧瓶应用程序中,如果我将 host 配置为我的本地笔记本电脑 IP 地址,它会在我的浏览器中发布吗?
  • 是的,您可以公开您的应用。 1) 为 VM 实例分配一个公共 IP 地址。 2) 在您的应用程序中从localhost 更改为0.0.0.0。 3) 在 Google Cloud Firewall 中,启用您的应用正在侦听的端口。 4) 现在您可以使用浏览器中的公共 IP 地址访问您的应用了。

标签: google-cloud-platform network-programming


【解决方案1】:

当您ssh 进入 GCP 中托管的目标实例时,您可以使用 Local Port Forwarding

Local port forwarding 允许您从本地计算机连接到另一台服务器。要使用本地端口转发,您需要知道您的目标服务器、源端口和目标端口。

您应该已经知道您的目标服务器。目标端口必须是您的烧瓶应用程序正在侦听的端口。源端口可以是本地计算机上未使用的任何端口。

假设 Flask 应用正在 GCP 实例上的端口 8080 上进行侦听,并且您希望在本地计算机上的端口 9876 上使用该应用,请使用以下命令通过 ssh 进入您的 GCP 实例:

ssh -L 9876:127.0.0.1:8080 <username>@<gcpInstanceIP>



如果目标实例上没有 ssh 密钥,则使用 gcloud compute ssh 可以获得相同的结果。
-- 参数必须在左侧的 gcloud 特定参数和右侧的 SSH_ARGS 之间指定:

gcloud compute ssh <gcp-instance-name> --zone=<instance-zone> -- -L <source-port>:localhost:<target-port>



您还可以使用 Google Cloud Shell:

  • 激活 Cloud Shell 位于 GCP Web 界面的右上角
  • 使用Local Port Forwarding SSH 进入您的实例
gcloud compute ssh <gcp-instance-name> --zone=<instance-zone> -- -L 8080:localhost:<target-port>
  • 点击Google Cloud Shell中的Web PreviewPreview on port8080

【讨论】:

  • 您好,我尝试了第一个命令,但出现此错误Permission denied (publickey)。我是否必须使用 Putty 密钥生成器设置任何公钥对?
  • 我假设您正在尝试从 Windows 机器进行连接。这是一个指南:cloud.google.com/compute/docs/instances/…。还必须在实例上添加公钥。我个人使用我在 Windows 机器上工作时建议的第二个和第三个选项。它对你来说也应该更直接。祝你好运
  • 第三个选项应该在现场工作(2分钟),第二个选项你需要安装gcloud cli并配置你的凭据,而如果你选择第一个选项,你需要生成密钥,在 putty 或其他 ssh 客户端中管理它,在实例上发送 *.pub,确保允许来自您的 IP 的 ingress:22 等等。祝你好运
猜你喜欢
  • 2018-06-05
  • 1970-01-01
  • 2019-12-12
  • 2019-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多