【问题标题】:webserver node.js as non root userwebserver node.js 作为非 root 用户
【发布时间】:2013-11-08 22:41:23
【问题描述】:

我是一名 Linux 初学者,拥有一台 Linux Ubuntu 12.04 服务器。我已经安装了 node.js 并创建了一个网络服务器脚本。这工作正常,但它以 root 用户身份运行。

我知道这不好(root 用户和网络服务器 = 不安全)。

如何以非 root 用户身份运行网络服务器脚本?有人知道一个很好的详细教程或可以给我一些建议吗?

【问题讨论】:

标签: linux node.js ubuntu webserver


【解决方案1】:

你有两个选择:

监听 80 端口

以 root 身份运行,在端口 80 上启动您应用的 listen(),然后它们会立即降级为非 root。例如,这就是 Apache 所做的。 不推荐,因为这很容易出错,还有很多其他细节(写入日志文件、在收听之前需要初始化等)。不是节点的标准做法。

监听端口 >=1024*

以非 root 用户身份运行,侦听 >= 1024 的端口(例如:8000 或 8080),并让其他人在端口 80 上侦听并将端口 80 的流量中继给您。其他人可以是:

  1. 负载均衡器、NAT、代理等(例如,如果您在 EC2 上运行,则可能是 EC2 负载均衡器)

  2. 另一个 http 服务器,比如 Apache httpd 或 ngnix。

有关 ngnix 示例,请参阅:Node.js + Nginx - What now?

【讨论】:

    【解决方案2】:

    你可以运行node hello.js

    【讨论】:

      猜你喜欢
      • 2018-12-24
      • 2011-09-28
      • 1970-01-01
      • 2013-07-02
      • 2020-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多