在互联网上发布Node.JS服务器
我有一个Node.JS服务器,在localhost
上正常工作。 现在我想从我的机器托pipe的互联网上访问。 我公开的IP地址( Google告诉我的那个IP地址)似乎不是“可访问的”:
https.createServer({ key: privateKey, cert: certificate }, server).listen(80, '86.151.23.17');
以下Node.JS错误失败:
Error: listen EADDRNOTAVAIL at errnoException (net.js:770:11) at Server._listen2 (net.js:893:19) at listen (net.js:937:10) at Server.listen (net.js:994:9) at dns.js:71:18 at process.startup.processNextTick.process._tickCallback (node.js:244:9)
如何将我的Node.JS服务器发布到我的公共IP地址?
[注:我没有其他的networking服务器运行。 另外,我已经尝试了各种不同的端口,如这里所build议的。]
您最有可能位于路由器后面,因此您的公共IP无法在路由器本身的任何位置使用。 你需要做的是侦听你的私有IP(通常在192.168。*范围内)并在你的路由器上设置一个端口。
如果你在Linux上,你也可以使用一个> 1024而不是80的端口,所以你不必以root身份运行节点。 在设置端口转发时,您可以简单地将端口80转发到运行节点服务器的任何端口。
你的应用程序应该听其他的IP地址,例如
app.listen(3000,'0.0.0.0');
要不就
app.listen(3000);
然后,您必须在调制解调器中打开端口转发。 像这样http://www.dlink.com/uk/en/support/faq/routers/wireless-routers/dkt-series/how-do-i-open-up-ports-to-my-computer-port-转发- -此路由器上
最后你可以看到你的应用程序在这里的IP地址https://whatismyipaddress.com/