我正在使用角度cli设置角度应用程序。运行ng serve
命令会在此地址<my_ec2_host_name>:4200
处生成一个服务器。当我尝试访问浏览器中的页面时,它不起作用(连接超时错误)。我相信这是因为安全原因,所以我增加了以下规则,以我的安全组的EC2实例:无法访问角度应用程序的ec2实例上的端口
端口4200现在应该是可访问的,但我还是不能让网页载入。有人能想到如何让这个工作?
我正在使用角度cli设置角度应用程序。运行ng serve
命令会在此地址<my_ec2_host_name>:4200
处生成一个服务器。当我尝试访问浏览器中的页面时,它不起作用(连接超时错误)。我相信这是因为安全原因,所以我增加了以下规则,以我的安全组的EC2实例:无法访问角度应用程序的ec2实例上的端口
端口4200现在应该是可访问的,但我还是不能让网页载入。有人能想到如何让这个工作?
您正在做的步骤对于通过EC2控制台中的安全组打开端口是正确的。确保您正在修改正确的安全组,并确保您的更改已保存。
您的容器可能有其他防火墙,因此您需要检查操作系统文档。例如,RHEL使用iptables作为进一步的安全措施:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sect-Security_Guide-IPTables.html。
应该提到我正在运行Ubuntu操作系统。 – TK123
看起来正确。你确定你的服务器正在运行并且正在监听连接吗?
您应该ssh到该服务器,并验证该页面可以在本地加载。例如:
curl http://<YOUR HOST IP ADDRESS>:4200
eg: curl http://54.164.10.123:4200
您应该小心使用公共IP地址(例如:当您在EC2控制台中时:IPv4公用IP)。我遇到过问题,我有一台服务器监听一个IP地址(通常是本地主机),而不是公共IP地址。
也可能是一个问题:您的主机是否在某种VPC内?
您可以设置在主机的选择是这样的:
ng serve -host 0.0.0.0
检查NACL(如果你没有更新他们的话也没关系)。您是否已将公共(弹性)IP附加到EC2实例?检查实例中的iptables。 –
服务器仅在本地主机上侦听吗?即什么'netstat -na | grep 4200'返回?如果它类似127.0.0.1:4200,那么你的服务器只在本地主机接口上监听,而不是在所有接口上监听。 – stdunbar