虚拟Ubuntu的虚拟机上的谷歌云无法通过连接的NodeJS,外部IP

问题描述:

var express = require('express'); 
var bodyParser = require('body-parser'); 
var path = require('path'); 

var app = express(); 

app.listen(3000, function(){ 
     console.log('Server up on Port 3000'); 
}); 

我没有搜索,在这里尝试其他的解决方案,但我仍然无法弄清楚虚拟Ubuntu的虚拟机上的谷歌云无法通过连接的NodeJS,外部IP

我有Ubuntu的一个谷歌云计算引擎(VM),我试图从我的笔记本电脑上的互联网访问它。我正在使用nodejs/npm/express。

以上是我index.js文件(很基本的),当我开始在使用上的VM

nodejs index.js 

35.188.226.109下面是对VM

外部IP当在铬浏览到http://35.188.226.109:3000/它说该网站无法到达。

我错过了什么?

+0

您必须从防火墙打开端口。检查您的默认网络,并添加一个新的防火墙规则,以允许从所有ips端口tcp:3000,它应该工作正常。 –

+0

我在网关上添加了一条规则,但没有区别。你的意思是在谷歌云端换防火墙吗? –

+0

是的。访问https://console.cloud.google.com/networking/firewalls/list并添加新的防火墙规则,以允许您的实例流量。 –

在GCP中启动VM时,它与默认网络连接。该默认网络处于最安全的设置,并且除了SSH和其他一些端口外,其他所有端口都将具有基于防火墙的端口阻塞。

为了允许外部应用程序与您的虚拟机进行通信,您必须通过启用防火墙端口来启用对您的计算机的访问。

防火墙设置可以找到here

在你的情况下,添加一个新的防火墙规则,允许来自所有IP的端口3000。请记住,这不是最佳做法。使用端口转发,代理等。