【发布时间】:2016-02-10 23:19:24
【问题描述】:
我正在服务器上运行一个 node.js 应用程序,它在本地主机上运行良好,但我无法从局域网之外的其他系统远程访问它。
这主要是因为我的服务器(Windows Server 2003)和 Internet 之间有一个路由器,它不允许打开端口 3000。
所以我想监听 80 端口,但如果请求是针对特定 URL,我想将其重定向到 3000 端口。
我该怎么做?任何帮助将不胜感激。
【问题讨论】:
-
分享运行服务器的node.js代码。你在 ip 0.0.0.0 上听了吗?
-
而如果你想在软件端代理80端口到3000端口,我认为Node做不到。您需要 Apache 或 nginx 服务来重定向请求
-
@cricket_007 Node 绝对可以做到这一点,尽管它需要以 root 身份运行才能绑定到特权端口。然后它可以使用
process.setuid降级并继续以普通用户身份运行,就像 Apache 和 Nginx 一样。 -
@Paulpro - 嗯。很高兴知道。不过,我不希望 Web 服务以特权用户身份运行
-
@cricket_007 这就是降级很重要的原因。在实际开始处理任何请求之前,它会在启动初始化期间降级,就像任何其他 Web 服务器一样。
标签: javascript node.js windows-server-2003