外部Hello World服务器节点js

我期待使用Node.js在专用PC上托pipeWeb服务器,但似乎无法从本地networking以外的任何地方访问它。

从我在网上发现,似乎我所要做的就是在不同的networking浏览器中inputexternalIp:端口,我应该看到我的Hello World,但我不能让它通过类似ngrok的暴露我的本地主机的工作。

有谁知道我怎么能访问我的节点服务器从外部电脑在互联网上,而不只是本地主机?

这里是重现的步骤

require("http").createServer(function(request, response){ response.writeHeader(200, {"Content-Type": "text/plain"}); response.write("Hello World!"); response.end(); }).listen(8080); 
  1. “node server.js” – 在端口8080上托pipe的非常简单的服务器,只是发送“Hello World!” 响应
  2. 在我的机器上检查localhost:8080,看到“Hello World!” 加工
  3. 从ipchicken.com获得externalIP
  4. 检查外部IP:8080在外部机器(手机,差异networking电脑),从来没有工作

也许有一些我错过了,但我认为这是非常简单的

所以事实certificate,我从Optimum使用的路由器有一个“特殊的”设置页面,以允许端口80的stream量。 在端口转发页面的任何地方都没有链接。 所以在做完所有端口转发之后,请确保您遵循以下链接:

http://optimumdev.custhelp.com/app/answers/detail/a_id/2140/related/1

您需要将服务绑定到所有可用的IP接口,将您的听8080更改为:

 require("http").createServer(function(request, response){ response.writeHeader(200, {"Content-Type": "text/plain"}); response.write("Hello World!"); response.end(); }).listen(8080, "0.0.0.0") 

假设你有一个标准的家庭networking设置,你不能只发送一个请求到你的外部IP地址,并期望它神奇地到达你的机器。 该请求将打到你的路由器,路由器不知道该怎么办。 您需要configuration您的路由器将端口8080上的请求转发到本地地址(可能类似于192.168.0.x)。 即使这可能还不够。 您可能需要在您的计算机上configuration软件防火墙,以允许该端口上的传入请求。 希望这可以帮助 :)