【问题标题】:start Express in AWS EC2 without root is not reachable在没有根的 AWS EC2 中启动 Express 无法访问
【发布时间】:2016-02-16 16:28:03
【问题描述】:

我已将 Express 应用程序部署到 EC2 实例中,但出现了一个奇怪的问题。 SSH 进入实例后,如果我通过

启动服务器
node server.js

无法通过浏览器访问;

如果我通过

启动服务器
sudo node server.js

一切正常。

不知道为什么。

【问题讨论】:

  • 您的应用程序正在监听哪个端口?您是否使用任何类型的网络服务器来路由您的通信?

标签: node.js amazon-web-services express amazon-ec2


【解决方案1】:

小于 1024 的端口是为 root 保留的,因此需要 root 权限。

我的猜测是您正在尝试绑定到端口 80/443,即默认 Web 端口。因此,这需要 root 权限。

但是,以 root 身份运行您的应用程序是一个坏主意,因此应该实施替代解决方案。

【讨论】:

    【解决方案2】:

    低号端口需要 sudo 权限。你应该在你的应用程序前面使用代理;像 nginx 这样你就可以通过重定向到你的应用程序的端口来使用低号端口。

    【讨论】:

      猜你喜欢
      • 2014-10-07
      • 2016-08-08
      • 2023-03-14
      • 1970-01-01
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-31
      相关资源
      最近更新 更多