Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Ubuntu EC2端口打开问题_Node.js_Amazon Web Services_Ubuntu - Fatal编程技术网

Node.js Ubuntu EC2端口打开问题

Node.js Ubuntu EC2端口打开问题,node.js,amazon-web-services,ubuntu,Node.js,Amazon Web Services,Ubuntu,我有一个运行在EC2 AWS服务器上的ubuntu服务器。我正在测试一个hello world Nodejs应用程序,我将其设置为在端口9000上侦听。如果我使用AWS控制台中的GUI打开传入的9000 TCP端口,应用程序运行正常。但是如果我尝试使用下面显示的命令行序列,它将不允许连接。 获取权限 ufw允许9000/tcp ufw允许22/tcp ufw允许80/tcp ufw允许8080/tcp ufw允许443/tcp ufw启用 ufw状态 在我的AWS EC2实例中执行任何安全组操作

我有一个运行在EC2 AWS服务器上的ubuntu服务器。我正在测试一个hello world Nodejs应用程序,我将其设置为在端口9000上侦听。如果我使用AWS控制台中的GUI打开传入的9000 TCP端口,应用程序运行正常。但是如果我尝试使用下面显示的命令行序列,它将不允许连接。 获取权限 ufw允许9000/tcp ufw允许22/tcp ufw允许80/tcp ufw允许8080/tcp ufw允许443/tcp ufw启用 ufw状态
在我的AWS EC2实例中执行任何安全组操作之前,我运行了这些操作,但运气不好。我正在做一个学校项目,我们只有CLI通过SSH访问EC2,所以我想尝试通过CLI打开端口(如果可能)。提前感谢您的帮助

如果AWS控制台中的GUI指的是安全组,那么您应该知道它没有配置
ufw
。相反,安全组修改AWS网络设备(分配给网络的路由器、交换机或防火墙设备)中的防火墙规则。在某些情况下,您需要同时配置
ufw
和AWS安全组以允许访问,特别是当您使用带有限制性默认防火墙的发行版时(Debian和Ubuntu默认不启用防火墙)

如果要从命令行或脚本中配置安全组,则需要使用。安装aws cli后,您可以执行以下操作:

aws ec2 authorize-security-group-ingress --group-id $group_id --protocol tcp --port 9000 --cidr 0.0.0.0/0
请注意,aws cli的作用与转到浏览器并在控制台中配置安全组的作用相同,只是通过API。因此,在何处安装aws cli并不重要。您不需要在EC2实例上安装它。您可以将其安装在个人Windows、Linux或Mac计算机上


如果您感兴趣,甚至可以在Android和iOS上安装一个应用程序来配置安全组。

除了ufw allow,您还必须在安全组中拥有来自任何位置的9000 allow或您的IP地址。