虚拟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/它说该网站无法到达。
我错过了什么?
答
在GCP中启动VM时,它与默认网络连接。该默认网络处于最安全的设置,并且除了SSH和其他一些端口外,其他所有端口都将具有基于防火墙的端口阻塞。
为了允许外部应用程序与您的虚拟机进行通信,您必须通过启用防火墙端口来启用对您的计算机的访问。
防火墙设置可以找到here。
在你的情况下,添加一个新的防火墙规则,允许来自所有IP的端口3000。请记住,这不是最佳做法。使用端口转发,代理等。
您必须从防火墙打开端口。检查您的默认网络,并添加一个新的防火墙规则,以允许从所有ips端口tcp:3000,它应该工作正常。 –
我在网关上添加了一条规则,但没有区别。你的意思是在谷歌云端换防火墙吗? –
是的。访问https://console.cloud.google.com/networking/firewalls/list并添加新的防火墙规则,以允许您的实例流量。 –