启用 EC2
安全组入站到 所有流量
,仍然无法从公共(public) WAN 访问在 EC2
上运行的 NodeJs 服务器,但是 'curl ' EC2 中的命令有效。
- 创建并登录 EC2 实例
- 安装了 NodeJs 并编写了绑定(bind)到下面的简单服务器代码
host/port #
const ip = "localhost";
const port = 6999;
- 运行服务器并 curl
http://localhost:6999
工作正常 EC2 安全组
,入站流量对所有流量、所有端口
等开放- 当尝试使用公共(public)
DNS URL
或IP
访问服务器时,它不起作用。
非常感谢任何帮助。
最佳答案
在评论中进行了一些讨论后发现您没有在正确的界面上收听。因此,为了使您的 node
服务器对世界可见,您需要检查以下内容:
- 您的安全组是否允许在该特定端口上输入(我不建议使用
所有流量
)而不是允许 HTTP 或您选择的端口。 - 检查防火墙是否打开,如果打开,请记住打开
INPUT
链上的入站端口。 - 确保您的应用程序监听外部接口(interface)。这意味着不是像在
.listen()
中那样使用127.0.0.1
传递"0.0.0.0"
- 这将使您的服务器可用服务器上的所有接口(interface)。
关于node.js - 从公共(public)网络访问在 AWS-EC2 上运行的 NodeJs 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55791277/