我已经设置了Google云计算实例:
机器类型
n1-standard-1(1个vCPU,3.75 GB内存) CPU平台
英特尔Haswell 区
我们-east1-C
我可以使用外部地址。
我已经安装了vncserver,可以通过localhost和内部IP在端口5901上访问它。
我正在尝试从静态的外部IP地址访问它,但它无法正常工作。我已将防火墙配置为打开到端口0.0.0.0/0,但无法访问。
有人可以帮忙吗?
------经过对两个答案提示的进一步调查(谢谢,两个!),我得到了部分答案:
默认情况下,Google Cloud Compute实例设置为不允许HTTP流量。我重置配置以允许HTTP流量。然后我尝试了故障排除技巧在python中运行一个小的HTTP服务。我能够通过互联网从服务中获得回应。
现状摘要如下: - 可以访问外部IP地址 - 它已启用并适用于SSH - 它已启用并适用于HTTP - 它似乎不允许来自vncserver的流量
知道如何配置计算实例以允许vncserver流量吗?
答案 0 :(得分:3)
如果您已经验证Google Firewall或您的VM未阻止数据包,则必须确保VNC服务is configured收听external IP address。
您始终可以在Google项目之外使用nmap之类的实用程序来显示有关端口状态的信息。
答案 1 :(得分:1)
默认情况下,Google Cloud Compute实例设置为不允许HTTP流量。我重置配置以允许HTTP流量。然后我尝试了故障排除技巧在python中运行一个小的HTTP服务。我能够通过互联网获得该服务的回复。
因此,原始问题得到解答,我可以访问Google Cloud Compute Instance外部IP。我的更广泛的问题仍然没有解决,但我会发布一个关于这个问题的新的,更具体的问题
答案 2 :(得分:1)
根据需要启用来自防火墙的http / https通信。会工作的!!
答案 3 :(得分:0)
在您的本地ssh配置文件中创建一个条目,如下所示,其中提到了本地转发端口。就我而言,它是一个纱线IP的示例,我想在浏览器中访问它。
Host hadoop
HostName <External-IP>
User <Local-machine-username>
IdentityFile ~/.ssh/<private-key-for-above-user>
LocalForward 8089 <Internal-IP>:8088
答案 4 :(得分:0)
除了在Google Cloud Platform和实例的操作系统中都具有allow HTTP traffic的防火墙规则之外,确保安装Web服务器,例如Apache或Nginx。< / p>
在安装Web服务器之后,您可以使用SSH连接到实例,并使用以下命令验证您的连接没有失败:
$ sudo wget http://localhost
如果连接正确,则意味着您可以访问外部URL:
http://<IP-EXTERNAL-VM>
答案 5 :(得分:0)
TLDR:确保您要的是 http
,而不是 https
在我的情况下,我正在跟踪CE实例的External Ip
属性中的链接,该链接将您直接带到https
版本,而我没有设置https,因此导致“站点无法找到”错误。
答案 6 :(得分:0)
通常需要检查两件事。
1. Port
默认情况下,仅公开port 80, 443 and ICMP
。如果您的服务器在其他端口上运行,请为该端口创建一条记录。
2. Firewall
确保根据需要允许http和https流量。 哇