我在GCP中创建了计算引擎实例来部署我的Web应用程序,它在实例中可以正常运行(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)
看看GCP中的防火墙规则。确保您允许端口80的入口流量(因为您是从浏览器访问它的)。端口8080和8444是内部访问的本地端口。这些港口不向公众开放。您必须确保有一条转发规则将流量从端口8080/8444重定向到端口80。
最终,尝试在计算引擎实例内或GCP外部测试URL连接和端口。下面是一些示例:
$ curl http://[external-IP-vm-address]:80
$ telnet localhost 80
$ nmap <external-ip-vm-address>
$ netstat -plant
您还可以执行其他网络测试。您可以查阅此讨论thread from Stackexchange。
最后,可能是端口8080和8444已被其他进程使用。因此,您无法连接到它们。
请尝试以下故障排除步骤。键入:
$ netstat -tulpn
上面的命令将显示在各自端口上运行的所有进程的列表。如果端口8080/8444存在,请查看端口上正在运行的现有进程。然后,您可以终止该过程。有关对在端口8444和8080上运行的进程进行故障排除的详细信息,您可以consult this article。