尽管有防火墙规则,Google Cloud Compute Engine仍拒绝连接

问题描述 投票:0回答:2

我正在尝试在运行 debian 的 GCE 实例上设置 VNC 服务器。通常我通过 SSH 连接,但我需要图形界面来处理其他一些用例。我有一个非常基本的防火墙规则,如下所示 enter image description here

但是当我使用 netcat 检查端口 5901 上的外部 IP 时,我发现连接被拒绝。检查像 22 这样的端口有效,但其他端口都不让我连接。我是不是漏掉了一步?

google-cloud-platform google-compute-engine
2个回答
35
投票

与您的问题相关的最常见问题是应用程序/服务器配置为

localhost
127.0.0.1
,这意味着仅接受本地计算机上的连接。您需要与
0.0.0.0
绑定,这意味着监听所有可用网络。

从公共网络(在您的系统之外)连接时

Connection refused
意味着没有人在监听。这不是防火墙规则问题,因为错误消息表明连接未被阻止(无响应)或被拒绝(权限被拒绝)。

通过 SSH 连接到您的实例。然后运行此命令:

netstat -a
。在您的端口号上查找显示
LISTENING
的行。然后查看IP地址。如果它显示
127.0.0.1
,那就是你的问题了。如果您没有看到端口号处于
LISTENING
状态,则说明您没有进程在侦听该端口。


0
投票

我在 GCP 控制台上打开公共 IP 地址的链接时遇到了此问题。此问题可能是由于 GCP 控制台 IP 链接采用 https 协议造成的,每当您使用此链接访问 GCP 实例但服务器未配置 https 支持时,每次尝试访问时都会收到连接被拒绝的情况。

解决方案:将 https://server-public-ip 替换为 http://server-public-ip

© www.soinside.com 2019 - 2024. All rights reserved.