Google cloud platform 外部IP无法访问Google云实例

Google cloud platform 外部IP无法访问Google云实例,google-cloud-platform,Google Cloud Platform,我有一个谷歌云虚拟机实例,它基本上是由市场服务“Elasticsearch经Bitnami认证”创建的。我无法通过外部IP公开访问它。我还允许来自防火墙的HTTP和HTTPS通信 我可以通过ssh连接它,但不能从HTTP连接。经过一些研究,我知道我的实例只能从本地主机(127.0.0.1)访问,但我不知道如何使其公开访问 我运行了netstat-antup命令,结果如下。从中我只了解了localhost(127.0.0.1): 我还有另一个例子,效果很好。我可以通过HTTP访问,但这个不行,不

我有一个谷歌云虚拟机实例,它基本上是由市场服务“Elasticsearch经Bitnami认证”创建的。我无法通过外部IP公开访问它。我还允许来自防火墙的HTTP和HTTPS通信

我可以通过ssh连接它,但不能从HTTP连接。经过一些研究,我知道我的实例只能从本地主机(127.0.0.1)访问,但我不知道如何使其公开访问

我运行了
netstat-antup
命令,结果如下。从中我只了解了localhost(127.0.0.1):

我还有另一个例子,效果很好。我可以通过HTTP访问,但这个不行,不知道为什么

该实例运行良好,我将其与此进行了比较,我能找出的唯一区别是,正确的实例正在侦听所有允许的端口9200。截图如下:

PS:我的应用程序正在端口9200上运行(我可以通过ssh登录访问,并能够从服务器本身运行curl)

我创建了一个防火墙规则来为所有端口启用端口9200。详情如下:

以下是适用于我的实例的防火墙规则:

我在这里也检查了所有类似的问题,但没有解决这个问题。任何帮助都将不胜感激。如果需要更多关于这方面的信息,我会提供


提前感谢。

ssh是端口22。如果要通过http和https访问,必须允许端口80和443(tcp)

请注意,127.0.0.1不是您的外部IP地址,您必须

此外,如果实例已重新启动,则会分配新的临时ip:

短暂的外部IP地址仅在VM停止并重新启动或实例终止之前保持连接到VM实例。如果实例停止,则分配给该实例的任何临时外部IP地址都会释放回通用计算引擎池,并可供其他项目使用。当停止的实例再次启动时,会为该实例分配一个新的临时外部IP地址


因此,为了使用外部IP访问虚拟机,您需要具备以下条件

  • 连接到虚拟机的外部IP,可以是短暂的或静态的IP。如下
  • 通过选择下面屏幕截图中突出显示的IP,可以将外部IP连接到VM

  • 假设应用程序已经在此虚拟机的9023端口上本地运行,则需要在防火墙规则中允许端口9023上的
    tcp
    流量到达目标虚拟机。在允许规则中的流量后,它将如下所示-
  • 然后您应该能够访问http://:9023/例如


    我刚刚为运行在端口9023上的nginx服务器做了这项工作,对于运行在任何端口上的任何应用程序都可以这样做。

    是的,127.0.0.1适用于本地主机。我已经允许从防火墙使用HTTP和HTTPS了,这不一样吗?。您的意思是创建允许使用80和443的新防火墙规则吗?对于外部IP,我有短暂的外部IP。gcloud计算地址列表的输出是什么我对GCP不熟悉。我确实在云shell中运行了“gcloud compute addresses list”命令,并得到了“列出的0项”作为响应。这是针对整个项目的,该项目有两个实例。在这些例子中,只有一个是有这个问题的。不用担心!阅读感谢你的链接。但是它说google计算地址列表只统计静态IP地址,而不是短暂的外部IP地址,这在我的例子中是正确的。我没有任何静态IP绑定到该项目。我只有短暂的外部IP。也许在未来,我有一个静态的IP,但现在,我想用短暂的IP。所有上述几点都做了,但仍然没有运气。我用防火墙规则的屏幕截图编辑了我的问题,以启用我的应用程序的端口9200。您是否能够使用云shell中VM的内部IP来卷曲应用程序。i、 e.http://:9200?不。我无法从云shell访问它,它说“连接超时”。但我可以通过ssh登录访问该应用程序。”旋度-XGET 127.0.0.1:9200'。我认为问题在于该应用程序只能从本地主机访问,不能公开访问。感谢@saurab_garg为您提供的时间和帮助。我真的很感激。我能够解决这个问题。问题在于我的应用程序的elasticsearch,而不是VM实例。我的应用程序绑定到127.0.0.1,它是本地主机,而不是所有网络接口。再次感谢您的时间。