【问题标题】:Cannot connect through external IP in Google cloud Compute engine instance无法通过谷歌云计算引擎实例中的外部 IP 连接
【发布时间】:2019-05-27 06:45:55
【问题描述】:

我在 GCP 中创建了计算引擎实例来部署我的网络应用程序。它在实例 (localhost:8080) 内运行良好。 但是,使用外部 IP 地址,即使防火墙规则允许所有实例使用 0.0.0.0/0,我也无法访问它。我添加了端口 tcp:8080 和 tcp:8444 但它不允许甚至连接“Telnet”。

Connecting To 35.185.98.244...Could not open connection to the host, on port 8444: Connect failed

Connecting To 35.185.98.244...Could not open connection to the host, on port 8080: Connect failed

谁能帮我解决这个问题?

我的 git 网址:https://github.com/ChkBuk/myexamples/tree/master/SyneBiz

【问题讨论】:

  • 您是否为防火墙规则和您的实例使用了相同的标签?你运行的是什么软件?显示其绑定到 0.0.0.0/8080 和 0.0.0.0/8444 的配置
  • @JohnHanley 我将“网络中的所有实例”设置为目标,并且我已经部署了 spring-boot 应用程序。我使用 java -jar 我的应用程序在 cod 上运行。 jar' 命令
  • @JohnHanley 在某些教程中,它说我们需要为 8444 端口添加防火墙,因为它与客户端-服务器通信有关
  • 我会假设你的防火墙是正确的。这意味着您的软件可能绑定到 localhost 而不是 0.0.0.0。由于我看不到您的代码,我只能猜测。
  • @JohnHanley 您可以使用以下 git 链接访问我的代码。 github.com/ChkBuk/myexamples/tree/master/SyneBiz我需要更改代码吗?

标签: security google-cloud-platform google-compute-engine


【解决方案1】:
  1. 查看 GCP 中的防火墙规则。确保您允许端口 80 的入口流量(因为您是从浏览器访问它)。端口 8080 和 8444 是内部访问的本地端口。这些端口不向公众公开。您必须确保存在将流量从端口 8080/8444 重定向到端口 80 的转发规则。

  2. 最后,尝试在计算引擎实例内或 GCP 外测试 URL 连接和端口。下面是一些例子:

    $ curl http://[external-IP-vm-address]:80

    $ telnet localhost 80

    $ nmap <external-ip-vm-address>

    $ netstat -plant

    您还可以执行其他网络测试。你可以参考这个讨论thread from Stackexchange

  3. 最后,可能是端口 8080 和 8444 已被其他进程使用。因此,您无法连接到它们。

    尝试以下故障排除步骤。键入:

    $ netstat -tulpn

    上面的这个命令将显示在各自端口上运行的所有进程的列表。如果端口 8080/8444 在那里,请查看其上运行的现有进程。然后,您可以终止该进程。更多关于 8444 和 8080 端口上运行的进程的故障排除信息,您可以consult this article

【讨论】:

    猜你喜欢
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    相关资源
    最近更新 更多