无法访问Angular应用程序的ec2实例上的端口

时间:2017-07-17 18:24:10

标签: angularjs amazon-web-services amazon-ec2

我正在使用角度cli进行角度应用程序设置。运行ng serve命令会在此地址<my_ec2_host_name>:4200生成服务器。当我尝试访问浏览器上的页面时,它不起作用(连接超时错误)。我认为这是出于安全原因所以我将以下规则添加到ec2实例的安全组中:

enter image description here

现在应该可以访问端口4200,但我仍然无法加载页面。有人可以想到如何让它发挥作用吗?

4 个答案:

答案 0 :(得分:3)

使用以下命令启动角度。

ng serve --host=0.0.0.0 --disable-host-check

它将禁用主机检查并允许使用IP

进行访问

答案 1 :(得分:1)

您可以像这样设置主机选项:

ng serve -host 0.0.0.0

答案 2 :(得分:0)

您正在执行的步骤对于通过EC2控制台中的安全组打开端口是正确的。确保您正在修改正确的安全组,并确保已保存更改。

您的容器可能有其他防火墙,因此您需要检查操作系统文档。例如,RHEL使用iptables作为进一步的安全措施:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sect-Security_Guide-IPTables.html

答案 3 :(得分:0)

看起来很正确。您确定您的服务器正在运行并正在侦听连接吗?

您应该ssh到该服务器并验证该页面是否可以在本地加载。例如:

curl http://<YOUR HOST IP ADDRESS>:4200
eg: curl http://54.164.10.123:4200

您应该小心使用公共IP地址(例如:当您在EC2控制台时使用IPv4公共IP)。我曾经遇到过一些问题,我的服务器监听一个IP地址(通常是localhost),而不是公共IP地址。

也许是个问题:你的主机是否属于某种类型的VPC?