【发布时间】:2013-02-03 01:22:07
【问题描述】:
我的 node.js 应用程序在端口 80 上监听 http,在端口 443 上监听 https,我认为这是相当标准的做法。
但是,我最近阅读的一些示例使用其他端口(例如 8080 和 8081)来监听 http/https,然后使用其他方式(例如 iptables 或 ufw 规则通过以下方式服务端口 80 / 443)将数据包重新路由到/从其他人。
所以我的问题是为什么我不想直接监听端口 80 和 443?
是否存在安全问题?这仅仅是这些作者没有权限监听低于 1024 的端口的情况(我会觉得这很奇怪吗?)?大多数人是否在侧节点上运行 Apache? (我没有)。
假设我不想直接监听 80 和/或 443 有充分的理由,我应该使用哪种方法将流量从 80 / 433 中继到我选择的备用端口?
我在上面提到了 iptables 和 ufw,其中一个比其他更好,还是我应该使用其他一些方法?答案是否取决于我是否在进程之间平衡负载?
提前致谢。
【问题讨论】:
-
我认为这是因为您需要 root 权限才能在低于 1024 的端口上运行,并且您不希望您的应用程序具有 root 权限,但是仍有一些方法可以绑定它。我个人使用AuthBind
-
如果我没记错的话,1337 端口正在成为运行 nodejs 的标准。要执行应用程序,您可以使用 NGINX 作为反向代理服务器。