首页 > 解决方案 > 外部 IP 无法访问 Google 云实例

问题描述

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

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

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

netstat -antup 命令的结果

我有另一个运行良好的实例。我可以通过 HTTP 访问它,但不是这个,不知道为什么。

工作正常的实例,我将其与此进行了比较,我能弄清楚的唯一区别是正确的实例正在侦听所有允许的端口 9200。截图如下:

正确的索引端口监听

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

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

9200 端口的防火墙规则

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

防火墙规则

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

提前致谢。

标签: google-cloud-platform

解决方案


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

请注意,127.0.0.1 不是您的外部 IP 地址,您必须保留一个静态外部 IP

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

仅在 VM 停止并重新启动或实例终止之前,临时外部 IP 地址仍附加到 VM 实例。如果实例停止,分配给该实例的任何临时外部 IP 地址都会释放回通用 Compute Engine 池,并可供其他项目使用。当停止的实例再次启动时,会为该实例分配一个新的临时外部 IP 地址。


推荐阅读