node.js - Ubuntu EC2 端口开放问题

标签 node.js amazon-web-services ubuntu

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

最佳答案

如果 AWS 控制台中的 GUI 是指安全组,那么您应该知道它没有配置 ufw .相反,安全组修改 AWS 网络设备(分配给您的网络的路由器或交换机或防火墙设备)中的防火墙规则。在某些情况下,您需要同时配置 ufw和 AWS 安全组允许访问,尤其是当您使用具有限制性默认防火墙的发行版时(Debian 和扩展 Ubuntu 默认情况下不启用防火墙)。
如果您想从命令行或脚本中配置安全组,您需要使用 aws cli .安装 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 上安装一个应用程序来配置安全组。

关于node.js - Ubuntu EC2 端口开放问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63212113/

相关文章:

javascript - 如何在 webdriverjs 中等待 takeScreenshot 截取屏幕截图

mongodb - MongoDB GridFS 使用 Node.JS 保存文件的问题

javascript - 有什么方法可以将 Node 流作为可迭代对象使用吗?

python - 使用 python boto 检索安全组但设置 vpc id

ubuntu - 在哪里上传 .bin 文件以安装 ColdFusion

javascript - 静态图像文件在node.js/express中不可见

javascript - AWS Lambda SNS 目标在失败或成功时不起作用

ruby - 将字节或 base64 字符串上传到 s3 ruby​​ sdk

linux - 无法运行存在的文件

windows - CakePHP:警告 (512):模型 "User"与模型 "User"无关 Windows 到 Ubuntu 部署