我正面临一个问题。
我已经在谷歌计算引擎上创建了虚拟机示例。虚拟机示例的外部IP是:104.198.225.177。访问了ssh并安装了nodejs。现在我想运行2个nodejs脚本,一个在端口8000,另一个在端口9000。
如果想运行并访问两个nodejs URL,如下所示:http://104.198.225.177:8000
和http://104.198.225.177:9000
我已经创建了脚本,但当我启动并尝试使用vm示例外部ip在浏览器中访问时,如:http://104.198.225.177:3000/
但不工作。我在ssh cur中尝试了像:curl localhost:3000/
和它的工作,但使用外部ip它不工作。
当我在启动nodejs时添加IP地址时,如下所示:app.listen(9000,"104.198.225.177");
我得到了这个错误:listen EADDRNOTAVAIL 104.198.225.177:9000 at Object.exports._errnoException
任何帮助感激。
2条答案
按热度按时间pobjuy321#
确保您已允许外部源的流量到达网络防火墙部分中的GCE示例的某些端口。
已解决:同时确保您的应用程序绑定到0.0.0.0/all接口和地址,而不仅仅是VM公共IP地址。
wmtdaxz32#
我在
Google Cloud Engine Instance (VM Instance)
中遇到了同样的问题。错误是:
字符串
我按照@PrecariousJimi和@ Pawan开发人员的评论,并解决了这个问题.但感到困惑的是,如何按照步骤来解决.所以,在这里我提到了如何可以解决这个问题,如果你面对.
**STEP-1:**在控制台中进入防火墙(Firewall link),创建一个新策略,详细信息如下:
Name:zhang cheng
网络:
default
优先级:
1000
交通方向:
ingress
匹配时的操作:
Allow
源过滤器:
0.0.0.0/0
协议和端口:
all
现在点击
Create
按钮。**STEP-2:**无论您的文件名是什么,请转到您的
index.js
或app.js
,并将主机名更改为内部IP地址,该内部IP地址将在示例或0.0.0.0
的外部IP旁边提供,如下所示型
**STEP-3:**运行您的文件
型
您的 NodeJS 脚本将在您的外部IP地址上运行,并指定端口:示例:
型
**STEP-4:**如果节点应用程序仍然没有显示,请允许您的示例防火墙连接到虚拟机的3000端口。
在虚拟示例中运行以下命令。
型
这将允许从3000到3007端口用于UDP和TCP
我希望这能帮助一些人…