node.js - 从公共(public)网络访问在 AWS-EC2 上运行的 NodeJs 应用程序

标签 node.js amazon-ec2

启用 EC2 安全组入站到 所有流量,仍然无法从公共(public) WAN 访问在 EC2 上运行的 NodeJs 服务器,但是 'curl ' EC2 中的命令有效。

  1. 创建并登录 EC2 实例
  2. 安装了 NodeJs 并编写了绑定(bind)到下面的简单服务器代码
    host/port #
    const ip = "localhost";
    const port = 6999;
  1. 运行服务器并 curl http://localhost:6999 工作正常
  2. EC2 安全组,入站流量对所有流量、所有端口等开放
  3. 当尝试使用公共(public) DNS URLIP 访问服务器时,它不起作用。

非常感谢任何帮助。

最佳答案

在评论中进行了一些讨论后发现您没有在正确的界面上收听。因此,为了使您的 node 服务器对世界可见,您需要检查以下内容:

  1. 您的安全组是否允许在该特定端口上输入(我不建议使用所有流量)而不是允许 HTTP 或您选择的端口。
  2. 检查防火墙是否打开,如果打开,请记住打开 INPUT 链上的入站端口。
  3. 确保您的应用程序监听外部接口(interface)。这意味着不是像在 .listen() 中那样使用 127.0.0.1 传递 "0.0.0.0" - 这将使您的服务器可用服务器上的所有接口(interface)。

关于node.js - 从公共(public)网络访问在 AWS-EC2 上运行的 NodeJs 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55791277/

相关文章:

linux - AWS :Determining aws volume parameters from the linux system mountpoint

使用 spark-submit 时出现 Hadoop 错误

node.js - mongoDB子文档匹配,其中elemMatch不是对象

Webhook 的 Node.JS https 服务器收到握手错误

node.js - 在断开连接事件中获取客户端当前所在的房间列表

node.js - 发送邮件后,Nodemailer非常慢

bash - 重复安全组的 ba​​sh 脚本中 AWS CLI 的错误处理

node.js - 为在 node.js 应用程序上运行的 mongodb 计算 n 个连接池所需的内存

amazon-web-services - Amazon EC2 t2.micro 是终身免费的吗?

node.js - 如何将一个键链接到redis中另一个存在的键的值