在 mac os x (mavericks) 上为 nodejs 打开端口

use*_*525 7 firewall home-server node.js

我正在本地运行一个 node.js 应用程序,并希望将其提供给外界演示。它在端口 3000 上运行。

我已添加node到防火墙以允许传入连接,但仍然无法从外部打开到端口 3000 的连接。但它在本地工作(即 localhost:3000)。

小智 2

步骤 1.macOS 防火墙

\n

System preferences -> Security & Privacy -> Firewall -> Firewall Options\xe2\x80\xa6 -> "node" should have "Allow incoming connections"将节点服务器暴露给网络。

\n

步骤 2. 使用正确的 IP 地址启动节点

\n

当启动您通常使用localhost127.0.0.1用于开发的 Node 服务器时,这可以防止服务器被暴露。当您想将服务器暴露给网络时,您应该使用 IP 地址0.0.0.0

\n

暴露您的服务器时要小心。将开发节点服务器暴露到网络上(例如 caf\xc3\xa9)是非常容易和危险的。坏人可以在网络上发现您的服务器并打开您的网站,例如http://192.168.0.100:3000。如果您的服务器正在开发模式下运行并且可能禁用了身份验证,那么坏人可以轻松“登录”并探索您的产品/代码以及连接的数据库中的数据。

\n

步骤 3. 在路由器上设置端口转发

\n

在路由器的 Web 界面中,找到端口转发并设置某个端口(例如 42000)以映射到端口 3000 的计算机的内部网络地址。

\n

您计算机上的节点服务器现在应该可以通过互联网通过路由器的公共 IP 地址和端口 3000 进行访问。

\n

(除了您的计算机和路由器之外,可能还有更多层。)

\n