Node.js 角度-不能在EC2上使用

Node.js 角度-不能在EC2上使用,node.js,angular,amazon-ec2,Node.js,Angular,Amazon Ec2,我在EC2(RHEL 7)上用ng new app1创建了Angular应用程序,并尝试使用以下工具提供: ng new app1 cd app1 ng serve --port=4200 当我转到url:IP:4200-出现以下错误: Exception: tcp_error Exception details: A communication error occurred: "Connection refused" 但是,当我在同一台服务器和同一个端口上尝试使用NodeJ时,我可以在

我在EC2(RHEL 7)上用
ng new app1
创建了Angular应用程序,并尝试使用以下工具提供:

ng new app1
cd app1
ng serve --port=4200
当我转到url:
IP:4200
-出现以下错误:

Exception:  tcp_error
Exception details:  A communication error occurred: "Connection refused"
但是,当我在同一台服务器和同一个端口上尝试使用NodeJ时,我可以在相同的
IP:4200
上看到结果。NodeJS代码是:

var express = require('express');
var app = express();
app.get('/', function (req, res) {
  res.send('Hello World 3!');
});
app.listen(4200, function () {
  console.log('Example app listening on port 4500!');
});

Angular和EC2有什么问题?我可以在本地计算机上运行完全相同的Angular代码,当转到
localhost:4200
-我可以看到结果(但不能从EC2
IP:4200
)。

根据
netstat
的输出,Angular的服务器被配置为只侦听以IP
127.0.1
为目标的连接

但来自外部的连接将针对不同的IP,所以您需要使用
--host
参数传递另一个IP。或者,为了方便起见,使用IP
0.0.0
,这意味着“此主机响应的每个IP”

因此,该命令应类似于:

ng serve --port=4200 --host=0.0.0.0

根据
netstat
的输出,Angular的服务器配置为仅侦听以ip
127.0.0.1
为目标的连接

但来自外部的连接将针对不同的IP,所以您需要使用
--host
参数传递另一个IP。或者,为了方便起见,使用IP
0.0.0
,这意味着“此主机响应的每个IP”

因此,该命令应类似于:

ng serve --port=4200 --host=0.0.0.0
  • 使用“netstat-na | grep:4200”检查4200端口是否打开
  • 使用telnet 127.0.0.1 4200检查是否可以通过内部ip连接到此端口
  • 使用telnet[external ip]4200检查是否可以通过外部ip连接此端口
  • 找到问题所在

  • 使用“netstat-na | grep:4200”检查4200端口是否打开
  • 使用telnet 127.0.0.1 4200检查是否可以通过内部ip连接到此端口
  • 使用telnet[external ip]4200检查是否可以通过外部ip连接此端口

  • 查找问题。

    在这两种情况下,
    netstat-ntlp
    是否都显示在端口4200上运行的应用程序?(例如,如果一个监听
    0.0.0.0
    ,而另一个监听
    127.0.0.1
    ,也要注意IP)。您在哪个程序中看到了您发布的异常消息?显示错误的是Angular(
    连接被拒绝
    ),当我为Angular(不工作)运行
    netstat-ntlp时,
    本地地址显示为
    127.0.0.1:4200
    ,而节点显示为
    ::4200
    。下一步该怎么办?您是否配置了防火墙入站规则?这是一种生产模式吗?
    netstat-ntlp
    的可能副本在这两种情况下都显示了在端口4200上运行的应用程序吗?(例如,如果一个监听
    0.0.0.0
    ,而另一个监听
    127.0.0.1
    ,也要注意IP)。您在哪个程序中看到了您发布的异常消息?显示错误的是Angular(
    连接被拒绝
    ),当我为Angular(不工作)运行
    netstat-ntlp时,
    本地地址显示为
    127.0.0.1:4200
    ,而节点显示为
    ::4200
    。下一步该怎么办?您是否配置了防火墙入站规则?这是一种生产模式吗?可能是